From: Christoph Hellwig Don't try to display the per-cpu information for CPUs which aren't there. --- mm/page_alloc.c | 8 +++++++- 1 files changed, 7 insertions(+), 1 deletion(-) diff -puN mm/page_alloc.c~show_free_areas-online-cpus mm/page_alloc.c --- 25/mm/page_alloc.c~show_free_areas-online-cpus 2004-02-13 22:15:35.000000000 -0800 +++ 25-akpm/mm/page_alloc.c 2004-02-13 22:15:35.000000000 -0800 @@ -971,7 +971,13 @@ void show_free_areas(void) printk("\n"); for (cpu = 0; cpu < NR_CPUS; ++cpu) { - struct per_cpu_pageset *pageset = zone->pageset + cpu; + struct per_cpu_pageset *pageset; + + if (!cpu_possible(cpu)) + continue; + + pageset = zone->pageset + cpu; + for (temperature = 0; temperature < 2; temperature++) printk("cpu %d %s: low %d, high %d, batch %d\n", cpu, _