Sfoglia il codice sorgente

[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>
Keith Mannthey 18 anni fa
parent
commit
78b656b8bf
2 ha cambiato i file con 2 aggiunte e 2 eliminazioni
  1. 1 1
      arch/i386/kernel/smpboot.c
  2. 1 1
      include/asm-i386/mach-summit/mach_apic.h

+ 1 - 1
arch/i386/kernel/smpboot.c

@@ -648,7 +648,7 @@ static void map_cpu_to_logical_apicid(void)
 {
 {
 	int cpu = smp_processor_id();
 	int cpu = smp_processor_id();
 	int apicid = logical_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))
 	if (!node_online(node))
 		node = first_online_node;
 		node = first_online_node;

+ 1 - 1
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)
 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 */
 /* Mapping from cpu number to logical apicid */