slub: Not necessary to check for empty slab on load_freelist
Christoph Lameter [Wed, 1 Jun 2011 17:25:59 +0000 (12:25 -0500)]
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 25dac48..78c4882 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);