]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
slub: Not necessary to check for empty slab on load_freelist
authorChristoph Lameter <cl@linux.com>
Wed, 1 Jun 2011 17:25:59 +0000 (12:25 -0500)
committerPekka Enberg <penberg@kernel.org>
Sat, 2 Jul 2011 10:26:57 +0000 (13:26 +0300)
load_freelist is now only branched to only if there are objects available.
So no need to check the object variable for NULL.

Signed-off-by: Pekka Enberg <penberg@kernel.org>
mm/slub.c

index 25dac48c1c6061c70a820142f3e475c07335ad22..78c488202f7d064bea9ac67d72e3b37f92a69939 100644 (file)
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -1997,9 +1997,6 @@ static void *__slab_alloc(struct kmem_cache *s, gfp_t gfpflags, int node,
                        NULL, new.counters,
                        "__slab_alloc"));
 
-load_freelist:
-       VM_BUG_ON(!page->frozen);
-
        if (unlikely(!object)) {
                c->page = NULL;
                stat(s, DEACTIVATE_BYPASS);
@@ -2008,6 +2005,8 @@ load_freelist:
 
        stat(s, ALLOC_REFILL);
 
+load_freelist:
+       VM_BUG_ON(!page->frozen);
        c->freelist = get_freepointer(s, object);
        c->tid = next_tid(c->tid);
        local_irq_restore(flags);