On Apr 5, 2005 8:13 AM, Arnaldo Carvalho de Melo <arnaldo.melo@xxxxxxxxx> wrote:
> On Apr 5, 2005 6:35 AM, Marcel Holtmann <marcel@xxxxxxxxxxxx> wrote:
> > Hi,
> >
> > while testing the latest kernel from the Bitkeeper repository, I got
> > some sleeping functions called from invalid context:
> >
> > Freeing unused kernel memory: 180k freed
> > Debug: sleeping function called from invalid context at mm/slab.c:2090
> > in_atomic():1, irqs_disabled():0
> > [<c0119936>] __might_sleep+0xa6/0xb0
> > [<c014ab93>] kmem_cache_alloc+0x73/0x80
> > [<c0149c0e>] kmem_cache_create+0xfe/0x630
> > [<c026994d>] proto_register+0x9d/0xc0
> > [<f88c901c>] af_unix_init+0x1c/0x7a [unix]
> > [<c0139d62>] sys_init_module+0x1b2/0x290
> > [<c0103025>] syscall_call+0x7/0xb
> > NET: Registered protocol family 1
>
> Damn, thanks for reporting, looking at it now.
Humm, recent changes in slab.[ch]... I'll try booting with a kernel without
proto_register to see if this is some bug introduced by this changeset or
if the problem would appear without it, that is my current guess, as we
were doing a kmem_cache_create at module __init time before, and it
uses SLAB_KERNEL at some point...
I.e. with regards to per protocol slab cache creating at module init time
we are doing the same thing as before the proto_register changeset,
unless I'm missing some obvious thing...
- Arnaldo
|