diff --git a/mm/slub.c b/mm/slub.c index eb5a8f9..76907e1 100644 --- a/mm/slub.c +++ b/mm/slub.c @@ -1867,9 +1867,10 @@ redo: */ spin_lock(&n->list_lock); } - } else { + } else if (kmem_cache_debug(s)) { m = M_FULL; - if (kmem_cache_debug(s) && !lock) { + + if (!lock) { lock = 1; /* * This also ensures that the scanning of full @@ -2376,7 +2377,8 @@ static void __slab_free(struct kmem_cache *s, struct page *page, * then add it. */ if (unlikely(!prior)) { - remove_full(s, page); + if (kmem_cache_debug(s)) + remove_full(s, page); add_partial(n, page, 0); stat(s, FREE_ADD_PARTIAL); }