[PATCH 1/7] powerpc numa: fix boot_cpuid always assigned to node 0

Nathan Lynch nathanl at austin.ibm.com
Tue Mar 21 11:34:15 EST 2006


At boot, the numa code is assigning boot_cpuid to node 0
unconditionally.  Basically, numa_setup_cpu is being stupid about it,
but this is the minimal fix -- just call numa_setup_cpu(boot_cpuid)
later, after all nodes have been set online.

Signed-off-by: Nathan Lynch <nathanl at austin.ibm.com>

---

 arch/powerpc/mm/numa.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

d5ecb195c3b93cb954264e075c7fe29a0bdc6db7
diff --git a/arch/powerpc/mm/numa.c b/arch/powerpc/mm/numa.c
index 2863a91..b813bad 100644
--- a/arch/powerpc/mm/numa.c
+++ b/arch/powerpc/mm/numa.c
@@ -375,7 +375,7 @@ static int __init parse_numa_properties(
 {
 	struct device_node *cpu = NULL;
 	struct device_node *memory = NULL;
-	int max_domain;
+	int max_domain = 0;
 	unsigned long i;
 
 	if (numa_enabled == 0) {
@@ -389,8 +389,6 @@ static int __init parse_numa_properties(
 	if (min_common_depth < 0)
 		return min_common_depth;
 
-	max_domain = numa_setup_cpu(boot_cpuid);
-
 	/*
 	 * Even though we connect cpus to numa domains later in SMP init,
 	 * we need to know the maximum node id now. This is because each
@@ -469,6 +467,8 @@ new_range:
 	for (i = 0; i <= max_domain; i++)
 		node_set_online(i);
 
+	max_domain = numa_setup_cpu(boot_cpuid);
+
 	return 0;
 }
 
-- 
1.2.4





More information about the Linuxppc-dev mailing list