소스 검색

[PATCH] i386: fix flat mode numa on a real numa system

If there is only 1 node in the system cpus should think they are apart of
some other node.

If cases where a real numa system boots the Flat numa option make sure the
cpus don't claim to be apart on a non-existent node.

Signed-off-by: Keith Mannthey <kmannth@us.ibm.com>
Cc: Andy Whitcroft <apw@shadowen.org>
Cc: Dave Hansen <haveblue@us.ibm.com>
Cc: Andi Kleen <ak@suse.de>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
keith mannthey 19 년 전
부모
커밋
bfa0e9a07c
1개의 변경된 파일5개의 추가작업 그리고 1개의 파일을 삭제
  1. 5 1
      arch/i386/kernel/smpboot.c

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

@@ -642,9 +642,13 @@ 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(apicid);
+
+	if (!node_online(node))
+		node = first_online_node;
 
 
 	cpu_2_logical_apicid[cpu] = apicid;
 	cpu_2_logical_apicid[cpu] = apicid;
-	map_cpu_to_node(cpu, apicid_to_node(apicid));
+	map_cpu_to_node(cpu, node);
 }
 }
 
 
 static void unmap_cpu_to_logical_apicid(int cpu)
 static void unmap_cpu_to_logical_apicid(int cpu)