diff options
author | Keith Mannthey <kmannth@us.ibm.com> | 2006-10-03 21:25:52 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-10-03 21:46:10 -0400 |
commit | 78b656b8bf933101b42409b4492734b23427bfc3 (patch) | |
tree | 35b91bbaee4a3140ba9a8e2f49b1a86c22856748 | |
parent | 708e16892e1646594a29eaa7ac7b209b600b9fd2 (diff) |
[PATCH] i383 numa: fix numaq/summit apicid conflict
This allows numaq to properly align cpus to their given node during
boot. Pass logical apicid to apicid_to_node and allow the summit
sub-arch to use physical apicid (hard_smp_processor_id()).
Tested against numaq and summit based systems with no issues.
Signed-off-by: Keith Mannthey <kmannth@us.ibm.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r-- | arch/i386/kernel/smpboot.c | 2 | ||||
-rw-r--r-- | include/asm-i386/mach-summit/mach_apic.h | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/arch/i386/kernel/smpboot.c b/arch/i386/kernel/smpboot.c index 9d93ecf6d999..4bb8b77cd65b 100644 --- a/arch/i386/kernel/smpboot.c +++ b/arch/i386/kernel/smpboot.c | |||
@@ -648,7 +648,7 @@ static void map_cpu_to_logical_apicid(void) | |||
648 | { | 648 | { |
649 | int cpu = smp_processor_id(); | 649 | int cpu = smp_processor_id(); |
650 | int apicid = logical_smp_processor_id(); | 650 | int apicid = logical_smp_processor_id(); |
651 | int node = apicid_to_node(hard_smp_processor_id()); | 651 | int node = apicid_to_node(apicid); |
652 | 652 | ||
653 | if (!node_online(node)) | 653 | if (!node_online(node)) |
654 | node = first_online_node; | 654 | node = first_online_node; |
diff --git a/include/asm-i386/mach-summit/mach_apic.h b/include/asm-i386/mach-summit/mach_apic.h index 254a0fe01c6a..ef0671e5d5c5 100644 --- a/include/asm-i386/mach-summit/mach_apic.h +++ b/include/asm-i386/mach-summit/mach_apic.h | |||
@@ -88,7 +88,7 @@ static inline void clustered_apic_check(void) | |||
88 | 88 | ||
89 | static inline int apicid_to_node(int logical_apicid) | 89 | static inline int apicid_to_node(int logical_apicid) |
90 | { | 90 | { |
91 | return apicid_2_node[logical_apicid]; | 91 | return apicid_2_node[hard_smp_processor_id()]; |
92 | } | 92 | } |
93 | 93 | ||
94 | /* Mapping from cpu number to logical apicid */ | 94 | /* Mapping from cpu number to logical apicid */ |