--- mm/slub.c | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) Index: linux-2.6.23-rc8-mm2/mm/slub.c =================================================================== --- linux-2.6.23-rc8-mm2.orig/mm/slub.c 2007-10-04 20:35:48.000000000 -0700 +++ linux-2.6.23-rc8-mm2/mm/slub.c 2007-10-04 20:44:53.000000000 -0700 @@ -1667,7 +1685,7 @@ static void __always_inline slab_free(st local_irq_save(flags); debug_check_no_locks_freed(object, s->objsize); c = get_cpu_slab(s, smp_processor_id()); - if (likely(page == c->page && c->node >= 0)) { + if (likely(c->remaining < 100 && c->node >= 0)) { object[c->offset] = c->freelist; c->freelist = object; c->remaining++;