From 78b656b8bf933101b42409b4492734b23427bfc3 Mon Sep 17 00:00:00 2001 From: Keith Mannthey Date: Tue, 3 Oct 2006 18:25:52 -0700 Subject: [PATCH] [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 Signed-off-by: Linus Torvalds --- arch/i386/kernel/smpboot.c | 2 +- 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) { int cpu = smp_processor_id(); int apicid = logical_smp_processor_id(); - int node = apicid_to_node(hard_smp_processor_id()); + int node = apicid_to_node(apicid); if (!node_online(node)) 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) static inline int apicid_to_node(int logical_apicid) { - return apicid_2_node[logical_apicid]; + return apicid_2_node[hard_smp_processor_id()]; } /* Mapping from cpu number to logical apicid */