aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorRavikiran G Thirumalai <kiran@scalex86.org>2005-09-30 14:59:21 -0400
committerLinus Torvalds <torvalds@g5.osdl.org>2005-09-30 15:41:20 -0400
commite6a045a5b89037ae87c8c1bc84403f1d498e52a1 (patch)
tree6e031521bec77df6f47ae65ff3375123d57623d2 /arch
parent2dd960d66bc12b6b206e63104636514e5da0ddb7 (diff)
[PATCH] x86_64: fix the BP node_to_cpumask
Fix the BP node_to_cpumask. 2.6.14-rc* broke the boot cpu bit as the cpu_to_node(0) is now not setup early enough for numa_init_array. cpu_to_node[] is setup much later at srat_detect_node on acpi srat based em64t machines. This seems like a problem on amd machines too, Tested on em64t though. /sys/devices/system/node/node0/cpumap shows up sanely after this patch. Signed off by: Ravikiran Thirumalai <kiran@scalex86.org> Signed-off-by: Shai Fultheim <shai@scalex86.org> Cc: Andi Kleen <ak@muc.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/x86_64/mm/numa.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/arch/x86_64/mm/numa.c b/arch/x86_64/mm/numa.c
index 80a49d9bd8a7..68ad75853510 100644
--- a/arch/x86_64/mm/numa.c
+++ b/arch/x86_64/mm/numa.c
@@ -178,7 +178,6 @@ void __init numa_init_array(void)
178 rr++; 178 rr++;
179 } 179 }
180 180
181 set_bit(0, &node_to_cpumask[cpu_to_node(0)]);
182} 181}
183 182
184#ifdef CONFIG_NUMA_EMU 183#ifdef CONFIG_NUMA_EMU
@@ -266,9 +265,7 @@ void __init numa_initmem_init(unsigned long start_pfn, unsigned long end_pfn)
266 265
267__cpuinit void numa_add_cpu(int cpu) 266__cpuinit void numa_add_cpu(int cpu)
268{ 267{
269 /* BP is initialized elsewhere */ 268 set_bit(cpu, &node_to_cpumask[cpu_to_node(cpu)]);
270 if (cpu)
271 set_bit(cpu, &node_to_cpumask[cpu_to_node(cpu)]);
272} 269}
273 270
274unsigned long __init numa_free_all_bootmem(void) 271unsigned long __init numa_free_all_bootmem(void)