aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/x86/kernel/smpboot.c8
1 files changed, 1 insertions, 7 deletions
diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c
index 7a8f5845e8eb..6d7022c683e3 100644
--- a/arch/x86/kernel/smpboot.c
+++ b/arch/x86/kernel/smpboot.c
@@ -1084,7 +1084,6 @@ void __init native_smp_prepare_cpus(unsigned int max_cpus)
1084{ 1084{
1085 unsigned int i; 1085 unsigned int i;
1086 1086
1087 preempt_disable();
1088 smp_cpu_index_default(); 1087 smp_cpu_index_default();
1089 1088
1090 /* 1089 /*
@@ -1102,22 +1101,19 @@ void __init native_smp_prepare_cpus(unsigned int max_cpus)
1102 } 1101 }
1103 set_cpu_sibling_map(0); 1102 set_cpu_sibling_map(0);
1104 1103
1105
1106 if (smp_sanity_check(max_cpus) < 0) { 1104 if (smp_sanity_check(max_cpus) < 0) {
1107 pr_info("SMP disabled\n"); 1105 pr_info("SMP disabled\n");
1108 disable_smp(); 1106 disable_smp();
1109 goto out; 1107 return;
1110 } 1108 }
1111 1109
1112 default_setup_apic_routing(); 1110 default_setup_apic_routing();
1113 1111
1114 preempt_disable();
1115 if (read_apic_id() != boot_cpu_physical_apicid) { 1112 if (read_apic_id() != boot_cpu_physical_apicid) {
1116 panic("Boot APIC ID in local APIC unexpected (%d vs %d)", 1113 panic("Boot APIC ID in local APIC unexpected (%d vs %d)",
1117 read_apic_id(), boot_cpu_physical_apicid); 1114 read_apic_id(), boot_cpu_physical_apicid);
1118 /* Or can we switch back to PIC here? */ 1115 /* Or can we switch back to PIC here? */
1119 } 1116 }
1120 preempt_enable();
1121 1117
1122 connect_bsp_APIC(); 1118 connect_bsp_APIC();
1123 1119
@@ -1151,8 +1147,6 @@ void __init native_smp_prepare_cpus(unsigned int max_cpus)
1151 uv_system_init(); 1147 uv_system_init();
1152 1148
1153 set_mtrr_aps_delayed_init(); 1149 set_mtrr_aps_delayed_init();
1154out:
1155 preempt_enable();
1156} 1150}
1157 1151
1158void arch_enable_nonboot_cpus_begin(void) 1152void arch_enable_nonboot_cpus_begin(void)