[PATCH] POWER 4 fails to boot with NUMA

Mike Kravetz kravetz at us.ibm.com
Thu Jun 30 06:42:35 EST 2005


If CONFIG_NUMA is set, some POWER 4 systems will fail to boot.  This is
because of special processing needed to handle invalid node IDs (0xffff)
on POWER 4.  My previous patch to handle memory 'holes' within nodes
forgot to add this special case for POWER 4 in one place.

In reality, I'm not sure that configuring the kernel for NUMA on POWER 4
makes much sense.  Are there POWER 4 based systems with NUMA characteristics
that are presented by the firmware?  But, distros want one kernel for all
systems so NUMA is on by default in their kernels.  The patch handles those
cases.

-- 
Signed-off-by: Mike Kravetz <kravetz at us.ibm.com>

diff -Naupr linux-2.6.12.1/arch/ppc64/mm/numa.c linux-2.6.12.1.work/arch/ppc64/mm/numa.c
--- linux-2.6.12.1/arch/ppc64/mm/numa.c	2005-06-22 19:33:05.000000000 +0000
+++ linux-2.6.12.1.work/arch/ppc64/mm/numa.c	2005-06-29 18:52:47.000000000 +0000
@@ -644,7 +644,12 @@ void __init do_init_bootmem(void)
 new_range:
 			mem_start = read_n_cells(addr_cells, &memcell_buf);
 			mem_size = read_n_cells(size_cells, &memcell_buf);
-			numa_domain = numa_enabled ? of_node_numa_domain(memory) : 0;
+			if (numa_enabled) {
+				numa_domain = of_node_numa_domain(memory);
+				if (numa_domain  >= MAX_NUMNODES)
+					numa_domain = 0;
+			} else
+				numa_domain =  0;
 
 			if (numa_domain != nid)
 				continue;



More information about the Linuxppc64-dev mailing list