Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> --- mm/slub.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) Index: linux-2.6/mm/slub.c =================================================================== --- linux-2.6.orig/mm/slub.c 2011-11-10 14:16:06.249338483 -0600 +++ linux-2.6/mm/slub.c 2011-11-10 14:22:31.831510734 -0600 @@ -2089,8 +2089,14 @@ static inline void *new_slab_objects(str { void *freelist; struct kmem_cache_cpu *c; - struct page *page = new_slab(s, flags, node); + struct page *page; + + freelist = get_partial(s, flags, node); + if (freelist) + return freelist; + + page = new_slab(s, flags, node); if (page) { c = __this_cpu_ptr(s->cpu_slab); if (c->page) @@ -2272,10 +2278,7 @@ new_slab: goto redo; } - freelist = get_partial(s, gfpflags, node); - - if (!freelist) - freelist = new_slab_objects(s, gfpflags, node); + freelist = new_slab_objects(s, gfpflags, node); if (unlikely(!freelist)) { -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>