diff options
Diffstat (limited to 'mm/slab.c')
-rw-r--r-- | mm/slab.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/mm/slab.c b/mm/slab.c index 5b11869cc7be..462938fc7cb9 100644 --- a/mm/slab.c +++ b/mm/slab.c @@ -2199,7 +2199,6 @@ __kmem_cache_create (struct kmem_cache *cachep, unsigned long flags) else size += BYTES_PER_WORD; } -#if FORCED_DEBUG && defined(CONFIG_DEBUG_PAGEALLOC) /* * To activate debug pagealloc, off-slab management is necessary * requirement. In early phase of initialization, small sized slab @@ -2207,14 +2206,14 @@ __kmem_cache_create (struct kmem_cache *cachep, unsigned long flags) * to check size >= 256. It guarantees that all necessary small * sized slab is initialized in current slab initialization sequence. */ - if (!slab_early_init && size >= kmalloc_size(INDEX_NODE) && + if (debug_pagealloc_enabled() && (flags & SLAB_POISON) && + !slab_early_init && size >= kmalloc_size(INDEX_NODE) && size >= 256 && cachep->object_size > cache_line_size() && ALIGN(size, cachep->align) < PAGE_SIZE) { cachep->obj_offset += PAGE_SIZE - ALIGN(size, cachep->align); size = PAGE_SIZE; } #endif -#endif /* * Determine if the slab management is 'on' or 'off' slab. |