--- mm/slub.c | 8 ++++++++ 1 file changed, 8 insertions(+) Index: linux-2.6/mm/slub.c =================================================================== --- linux-2.6.orig/mm/slub.c 2008-02-09 10:53:44.337116876 -0800 +++ linux-2.6/mm/slub.c 2008-02-09 10:57:02.990170061 -0800 @@ -2333,6 +2333,14 @@ static int calculate_sizes(struct kmem_c if (s->order < 0) return 0; + if (s->order) + /* + * Give it the maximu. We already have to take + * the slow path in the page allocator. Make it + * worth i. Having just two orders also reduces + * fragmentation issues. + */ + s->order = PAGE_ALLOC_COSTLY_ORDER; /* * Determine the number of objects per slab */