diff options
Diffstat (limited to 'mm/slab.c')
-rw-r--r-- | mm/slab.c | 5 |
1 files changed, 4 insertions, 1 deletions
@@ -597,6 +597,7 @@ static enum { | |||
597 | PARTIAL_AC, | 597 | PARTIAL_AC, |
598 | PARTIAL_L3, | 598 | PARTIAL_L3, |
599 | EARLY, | 599 | EARLY, |
600 | LATE, | ||
600 | FULL | 601 | FULL |
601 | } g_cpucache_up; | 602 | } g_cpucache_up; |
602 | 603 | ||
@@ -673,7 +674,7 @@ static void init_node_lock_keys(int q) | |||
673 | { | 674 | { |
674 | struct cache_sizes *s = malloc_sizes; | 675 | struct cache_sizes *s = malloc_sizes; |
675 | 676 | ||
676 | if (g_cpucache_up != FULL) | 677 | if (g_cpucache_up < LATE) |
677 | return; | 678 | return; |
678 | 679 | ||
679 | for (s = malloc_sizes; s->cs_size != ULONG_MAX; s++) { | 680 | for (s = malloc_sizes; s->cs_size != ULONG_MAX; s++) { |
@@ -1680,6 +1681,8 @@ void __init kmem_cache_init_late(void) | |||
1680 | { | 1681 | { |
1681 | struct kmem_cache *cachep; | 1682 | struct kmem_cache *cachep; |
1682 | 1683 | ||
1684 | g_cpucache_up = LATE; | ||
1685 | |||
1683 | /* Annotate slab for lockdep -- annotate the malloc caches */ | 1686 | /* Annotate slab for lockdep -- annotate the malloc caches */ |
1684 | init_lock_keys(); | 1687 | init_lock_keys(); |
1685 | 1688 | ||