Re: PATCH 2.4.0.4.6: workaround for BUG() in slab.c

From: Andrew Morton (andrewm@uow.edu.au)
Date: Fri Jul 14 2000 - 10:12:50 EST


Jeff Garzik wrote:
>
> At the moment, I prefer booting my laptop to the current oops-on-boot
> behavior...

Well, guess who is now trying to bring up 2.4 on a laptop :-(

The problem is that unreset_socket() is a timer handler.

unreset_socket ->
  cb_alloc ->
    pci_insert_device ->
      pci_announce_device ->
        vortex_probe1 ->
          init_etherdev ->
            init_netdev ->
              init_alloc_dev ->
                kmalloc(GFP_KERNEL) ->
                  <splat>

We don't want to create another kernel thread just for cardbus.

I think the best general way to fix this is for the timer handler to do
nothing but register a callback with something which is running in
process context, such as `swapper'.

Does a capability such as this exist at present?

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sat Jul 15 2000 - 21:00:20 EST