#define cache_free_debugcheck(x,objp,z) (objp)
 #endif
 
+static inline void fixup_slab_list(struct kmem_cache *cachep,
+                               struct kmem_cache_node *n, struct page *page)
+{
+       /* move slabp to correct slabp list: */
+       list_del(&page->lru);
+       if (page->active == cachep->num)
+               list_add(&page->lru, &n->slabs_full);
+       else
+               list_add(&page->lru, &n->slabs_partial);
+}
+
 static struct page *get_first_slab(struct kmem_cache_node *n)
 {
        struct page *page;
                        ac_put_obj(cachep, ac, slab_get_obj(cachep, page));
                }
 
-               /* move slabp to correct slabp list: */
-               list_del(&page->lru);
-               if (page->active == cachep->num)
-                       list_add(&page->lru, &n->slabs_full);
-               else
-                       list_add(&page->lru, &n->slabs_partial);
+               fixup_slab_list(cachep, n, page);
        }
 
 must_grow:
 
        obj = slab_get_obj(cachep, page);
        n->free_objects--;
-       /* move slabp to correct slabp list: */
-       list_del(&page->lru);
 
-       if (page->active == cachep->num)
-               list_add(&page->lru, &n->slabs_full);
-       else
-               list_add(&page->lru, &n->slabs_partial);
+       fixup_slab_list(cachep, n, page);
 
        spin_unlock(&n->list_lock);
        goto done;