slub: Simplify control flow in __slab_alloc()
authorChristoph Lameter <cl@linux.com>
Wed, 9 May 2012 15:09:54 +0000 (10:09 -0500)
committerPekka Enberg <penberg@kernel.org>
Fri, 1 Jun 2012 06:25:40 +0000 (09:25 +0300)
Simplify control flow a bit avoiding nesting.

Signed-off-by: Christoph Lameter <cl@linux.com>
Signed-off-by: Pekka Enberg <penberg@kernel.org>
mm/slub.c

index 9892775..5aacd43 100644 (file)
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -2272,17 +2272,15 @@ new_slab:
        /* Then do expensive stuff like retrieving pages from the partial lists */
        freelist = get_partial(s, gfpflags, node, c);
 
-       if (unlikely(!freelist)) {
-
+       if (!freelist)
                freelist = new_slab_objects(s, gfpflags, node, &c);
 
-               if (unlikely(!freelist)) {
-                       if (!(gfpflags & __GFP_NOWARN) && printk_ratelimit())
-                               slab_out_of_memory(s, gfpflags, node);
+       if (unlikely(!freelist)) {
+               if (!(gfpflags & __GFP_NOWARN) && printk_ratelimit())
+                       slab_out_of_memory(s, gfpflags, node);
 
-                       local_irq_restore(flags);
-                       return NULL;
-               }
+               local_irq_restore(flags);
+               return NULL;
        }
 
        if (likely(!kmem_cache_debug(s)))