summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorNathan Lynch <nathanl@austin.ibm.com>2006-03-20 18:34:15 -0600
committerPaul Mackerras <paulus@samba.org>2006-03-22 15:03:40 +1100
commitc08888cf3c80fe07bfd176113c390ca31d3ba5c2 (patch)
tree37d6ef3a46dca009c997e337874a194551bd4fcd /arch
parent1d7aac5b3bce34c8b5fcec8ca577a4d3af880fd3 (diff)
downloadlinux-c08888cf3c80fe07bfd176113c390ca31d3ba5c2.tar.gz
linux-c08888cf3c80fe07bfd176113c390ca31d3ba5c2.tar.bz2
linux-c08888cf3c80fe07bfd176113c390ca31d3ba5c2.zip
[PATCH] powerpc numa: fix boot_cpuid always assigned to node 0
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@austin.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/powerpc/mm/numa.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/arch/powerpc/mm/numa.c b/arch/powerpc/mm/numa.c
index da5280f8cf42..dc6392ce2530 100644
--- a/arch/powerpc/mm/numa.c
+++ b/arch/powerpc/mm/numa.c
@@ -375,7 +375,7 @@ static int __init parse_numa_properties(void)
{
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(void)
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;
}