Re: possible recursive locking detected at kmem_cache_free

From: Pekka J Enberg
Date: Fri Jun 26 2009 - 03:37:37 EST


Hi Venki,

On Thu, 25 Jun 2009, Pallipadi, Venkatesh wrote:
> > > Not sure if this has been reported elsewhere. I started seeing this with git
> > > kernel from this morning on a system with RedHat EL5 base installation with
> > > ext3 root file system. Attached is the config I am using.
> > >
> > > Let me know if you need any more details. This seems to be at every boot. I
> > > am trying the bisect right now.
> > >
> >
> > Thanks. Let's cc Pekka.
> >
>
> git bisect result.

Thanks! I think I just broke lockdep annotations for slab. Does this patch
fix things?

Pekka

diff --git a/mm/slab.c b/mm/slab.c
index e74a16e..37ee532 100644
--- a/mm/slab.c
+++ b/mm/slab.c
@@ -1544,9 +1544,6 @@ void __init kmem_cache_init(void)
}

g_cpucache_up = EARLY;
-
- /* Annotate slab for lockdep -- annotate the malloc caches */
- init_lock_keys();
}

void __init kmem_cache_init_late(void)
@@ -1563,6 +1560,9 @@ void __init kmem_cache_init_late(void)
/* Done! */
g_cpucache_up = FULL;

+ /* Annotate slab for lockdep -- annotate the malloc caches */
+ init_lock_keys();
+
/*
* Register a cpu startup notifier callback that initializes
* cpu_cache_get for all new cpus
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/