Dont allocate pagesets for unpopulated zones. We do not need to allocate pagesets for unpopulated zones. This saves 1 mio pagesets per unpopulated zone on a 1k cpu / 1k node box. Signed-off-by: Christoph Lameter Index: linux-2.6.18-rc6-mm2/mm/page_alloc.c =================================================================== --- linux-2.6.18-rc6-mm2.orig/mm/page_alloc.c 2006-09-18 14:14:58.000000000 -0500 +++ linux-2.6.18-rc6-mm2/mm/page_alloc.c 2006-09-18 14:54:43.456849813 -0500 @@ -1903,6 +1903,9 @@ static int __cpuinit process_zones(int c for_each_zone(zone) { + if (!populated_zone(zone)) + continue; + zone_pcp(zone, cpu) = kmalloc_node(sizeof(struct per_cpu_pageset), GFP_KERNEL, cpu_to_node(cpu)); if (!zone_pcp(zone, cpu))