diff options
author | Ravikiran G Thirumalai <kiran@scalex86.org> | 2005-09-30 14:59:21 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-09-30 15:41:20 -0400 |
commit | e6a045a5b89037ae87c8c1bc84403f1d498e52a1 (patch) | |
tree | 6e031521bec77df6f47ae65ff3375123d57623d2 /arch/x86_64 | |
parent | 2dd960d66bc12b6b206e63104636514e5da0ddb7 (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/x86_64')
-rw-r--r-- | arch/x86_64/mm/numa.c | 5 |
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 | ||
274 | unsigned long __init numa_free_all_bootmem(void) | 271 | unsigned long __init numa_free_all_bootmem(void) |