From: Christoph Hellwig <hch@lst.de>

Don't try to display the per-cpu information for CPUs which aren't there.


---

 25-akpm/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	Tue Feb 17 15:52:44 2004
+++ 25-akpm/mm/page_alloc.c	Tue Feb 17 15:52:44 2004
@@ -979,7 +979,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,

_