On Nov 17, 2007 8:33 PM, Christoph Lameter <[EMAIL PROTECTED]> wrote: > On Sat, 17 Nov 2007, Andrew Morton wrote: > > > That's slub. It appears that list_lock is being taken from process context > > in one place and from softirq in another. > > I kicked out some weird interrupt disable code in mm that was only run during > NUMA bootstrap.
I'm using NUMA (Opteron), so this indeed fixes it. A kernel complied with SLUB now outputs the same message as the SLAB one, that lockdep annotations are needed at the place where nfs hangs. > This should fix it but isnt there some mechanism to convince lockdep that > it is okay to do these things during bootstrap? > > --- > mm/slub.c | 2 ++ > 1 file changed, 2 insertions(+) > > Index: linux-2.6/mm/slub.c > =================================================================== > --- linux-2.6.orig/mm/slub.c 2007-11-17 11:31:21.044136631 -0800 > +++ linux-2.6/mm/slub.c 2007-11-17 11:32:17.364386560 -0800 > @@ -2044,7 +2044,9 @@ static struct kmem_cache_node *early_kme > #endif > init_kmem_cache_node(n); > atomic_long_inc(&n->nr_slabs); > + local_irq_disable(); > add_partial(kmalloc_caches, page, 0); > + local_irq_enable(); > return n; > } > > > - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/