From mboxrd@z Thu Jan 1 00:00:00 1970 From: Arnaldo Carvalho de Melo Subject: Re: Some sleeping function called from invalid context Date: Tue, 5 Apr 2005 15:11:30 -0300 Message-ID: <39e6f6c705040511115b28b575@mail.gmail.com> References: <1112693744.7960.2.camel@pegasus> <39e6f6c70504050413666ea29d@mail.gmail.com> <39e6f6c705040505186c1c62ed@mail.gmail.com> Reply-To: acme@conectiva.com.br Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: Network Development Mailing List Return-path: To: Marcel Holtmann In-Reply-To: <39e6f6c705040505186c1c62ed@mail.gmail.com> Sender: netdev-bounce@oss.sgi.com Errors-to: netdev-bounce@oss.sgi.com List-Id: netdev.vger.kernel.org On Apr 5, 2005 9:18 AM, Arnaldo Carvalho de Melo wrote: > On Apr 5, 2005 8:13 AM, Arnaldo Carvalho de Melo wrote: > > On Apr 5, 2005 6:35 AM, Marcel Holtmann 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 > > > [] __might_sleep+0xa6/0xb0 > > > [] kmem_cache_alloc+0x73/0x80 > > > [] kmem_cache_create+0xfe/0x630 > > > [] proto_register+0x9d/0xc0 > > > [] af_unix_init+0x1c/0x7a [unix] > > > [] sys_init_module+0x1b2/0x290 > > > [] 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