netdev
[Top] [All Lists]

Re: Some sleeping function called from invalid context

To: Marcel Holtmann <marcel@xxxxxxxxxxxx>
Subject: Re: Some sleeping function called from invalid context
From: Arnaldo Carvalho de Melo <arnaldo.melo@xxxxxxxxx>
Date: Tue, 5 Apr 2005 09:18:33 -0300
Cc: Network Development Mailing List <netdev@xxxxxxxxxxx>
Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:reply-to:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:references; b=BCdr7gokxxBbrdZXIinEb96Ghwcw4BWSo0g6l7TUcUgfknz1diSYskNAONVXJjEH2u3OGoHHoirqvirHvhlzuxSU3Z72e3rNuZ7XPQOnMdLNNsgqF9Nl/gpDbZl3EapoyMDyW+yGFlAIubBiHh9QnjrwFlPcNk27wxN18kal90k=
In-reply-to: <39e6f6c70504050413666ea29d@xxxxxxxxxxxxxx>
References: <1112693744.7960.2.camel@pegasus> <39e6f6c70504050413666ea29d@xxxxxxxxxxxxxx>
Reply-to: acme@xxxxxxxxxxxxxxxx
Sender: netdev-bounce@xxxxxxxxxxx
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

<Prev in Thread] Current Thread [Next in Thread>