aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKeith Mannthey <kmannth@us.ibm.com>2006-10-03 21:25:52 -0400
committerLinus Torvalds <torvalds@g5.osdl.org>2006-10-03 21:46:10 -0400
commit78b656b8bf933101b42409b4492734b23427bfc3 (patch)
tree35b91bbaee4a3140ba9a8e2f49b1a86c22856748
parent708e16892e1646594a29eaa7ac7b209b600b9fd2 (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.c2
-rw-r--r--include/asm-i386/mach-summit/mach_apic.h2
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
89static inline int apicid_to_node(int logical_apicid) 89static 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 */