diff options
author | Christoph Lameter <cl@linux.com> | 2011-04-15 14:48:16 -0500 |
---|---|---|
committer | Pekka Enberg <penberg@kernel.org> | 2011-04-17 14:03:20 +0300 |
commit | 8dc16c6c04b1a82d00a8464ccc08e1fe17d0ff82 (patch) | |
tree | 8652572fe6cb411516c5d217eb25bbc6376e3036 | |
parent | dc1fb7f43636754a4d06f7bdb8ea3269a7d71d6d (diff) | |
download | lwn-8dc16c6c04b1a82d00a8464ccc08e1fe17d0ff82.tar.gz lwn-8dc16c6c04b1a82d00a8464ccc08e1fe17d0ff82.zip |
slub: Move debug handlign in __slab_free
Its easier to read if its with the check for debugging flags.
Signed-off-by: Christoph Lameter <cl@linux.com>
Signed-off-by: Pekka Enberg <penberg@kernel.org>
-rw-r--r-- | mm/slub.c | 11 |
1 files changed, 2 insertions, 9 deletions
diff --git a/mm/slub.c b/mm/slub.c index 301360bc00c6..c952fac112e8 100644 --- a/mm/slub.c +++ b/mm/slub.c @@ -2057,10 +2057,9 @@ static void __slab_free(struct kmem_cache *s, struct page *page, slab_lock(page); stat(s, FREE_SLOWPATH); - if (kmem_cache_debug(s)) - goto debug; + if (kmem_cache_debug(s) && !free_debug_processing(s, page, x, addr)) + goto out_unlock; -checks_ok: prior = page->freelist; set_freepointer(s, object, prior); page->freelist = object; @@ -2104,12 +2103,6 @@ slab_empty: #endif stat(s, FREE_SLAB); discard_slab(s, page); - return; - -debug: - if (!free_debug_processing(s, page, x, addr)) - goto out_unlock; - goto checks_ok; } /* |