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 15:11:30 -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=Ey9VsjOYD0KbdkKsYkm1L4ytiRWQd+ual5Ptucih7ZVO8lNlPU042JzYiSmOJU/H6xnqH35Jk8YCn29SQcwjlU2+96EF1Fcwp2P6btWYV3ILUzAn1634064V86tNQ1DjbI2V+Ybd2Y4lt2JHyQFB41POGbYbwsra28WYUDcI/lI=
In-reply-to: <39e6f6c705040505186c1c62ed@xxxxxxxxxxxxxx>
References: <1112693744.7960.2.camel@pegasus> <39e6f6c70504050413666ea29d@xxxxxxxxxxxxxx> <39e6f6c705040505186c1c62ed@xxxxxxxxxxxxxx>
Reply-to: acme@xxxxxxxxxxxxxxxx
Sender: netdev-bounce@xxxxxxxxxxx
On Apr 5, 2005 9:18 AM, Arnaldo Carvalho de Melo <arnaldo.melo@xxxxxxxxx> wrote:
> 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...

Yes, I was missing something, one should not call kmem_cache_create with a
spinlock held, patch will be available shortly, thanks a lot Marcel
for reporting this
one!

- Arnaldo

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