Use a single exit path by using goto's to the hottest exit path.

Signed-off-by: Christoph Lameter <[EMAIL PROTECTED]>

---
 mm/slub.c |    8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

Index: linux-2.6/mm/slub.c
===================================================================
--- linux-2.6.orig/mm/slub.c    2007-10-25 19:38:14.000000000 -0700
+++ linux-2.6/mm/slub.c 2007-10-25 19:38:47.000000000 -0700
@@ -1493,7 +1493,9 @@ load_freelist:
        c->page->inuse = s->objects;
        c->page->freelist = NULL;
        c->node = page_to_nid(c->page);
+unlock_out:
        slab_unlock(c->page);
+out:
        return object;
 
 another_slab:
@@ -1541,7 +1543,8 @@ new_slab:
                c->page = new;
                goto load_freelist;
        }
-       return NULL;
+       object = NULL;
+       goto out;
 debug:
        object = c->page->freelist;
        if (!alloc_debug_processing(s, c->page, object, addr))
@@ -1550,8 +1553,7 @@ debug:
        c->page->inuse++;
        c->page->freelist = object[c->offset];
        c->node = -1;
-       slab_unlock(c->page);
-       return object;
+       goto unlock_out;
 }
 
 /*

-- 
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to