]> Pileus Git - ~andy/linux/blobdiff - mm/slab.c
Merge branch 'slab/urgent' into slab/for-linus
[~andy/linux] / mm / slab.c
index a7f9c244aac66908a3d00c9a90047869449553f4..4ef42baf66f0bb6a6ae73aff3ee2ffed1a276740 100644 (file)
--- a/mm/slab.c
+++ b/mm/slab.c
@@ -597,6 +597,7 @@ static enum {
        PARTIAL_AC,
        PARTIAL_L3,
        EARLY,
+       LATE,
        FULL
 } g_cpucache_up;
 
@@ -673,7 +674,7 @@ static void init_node_lock_keys(int q)
 {
        struct cache_sizes *s = malloc_sizes;
 
-       if (g_cpucache_up != FULL)
+       if (g_cpucache_up < LATE)
                return;
 
        for (s = malloc_sizes; s->cs_size != ULONG_MAX; s++) {
@@ -1680,6 +1681,8 @@ void __init kmem_cache_init_late(void)
 {
        struct kmem_cache *cachep;
 
+       g_cpucache_up = LATE;
+
        /* Annotate slab for lockdep -- annotate the malloc caches */
        init_lock_keys();