summaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/setup.c
diff options
context:
space:
mode:
authorYinghai Lu <yhlu.kernel@gmail.com>2008-07-02 18:53:44 -0700
committerIngo Molnar <mingo@elte.hu>2008-07-08 13:16:23 +0200
commit5f4765f96eebee6a0adc4009758b597ba48a0a3a (patch)
treeb47b506e989a31e8a14536706b0ef3b14333be2e /arch/x86/kernel/setup.c
parentcb95a13a8ace8612ecab042a838e5aab2ec14ef0 (diff)
x86: move init_cpu_to_node after get_smp_config
when acpi=off, cpu_to_apicid is ready after get_smp_config so need to move init_cpu_to_node after it. otherwise, we will get wrong cpu->node mapping, and it will rely on amd_detect_cmp() to correct it - but that is too late as setup_per_cpu_data is already called before that so we will get per_cpu_data on the wrong node. Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/kernel/setup.c')
-rw-r--r--arch/x86/kernel/setup.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
index d5de157b02a..f52a6fb9023 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
@@ -810,10 +810,6 @@ void __init setup_arch(char **cmdline_p)
*/
acpi_boot_init();
-#ifdef CONFIG_X86_64
- init_cpu_to_node();
-#endif
-
#if defined(CONFIG_X86_MPPARSE) || defined(CONFIG_X86_VISWS)
/*
* get boot-time SMP configuration:
@@ -822,6 +818,10 @@ void __init setup_arch(char **cmdline_p)
get_smp_config();
#endif
+#ifdef CONFIG_X86_64
+ init_cpu_to_node();
+#endif
+
init_apic_mappings();
ioapic_init_mappings();