aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/x86_64/kernel/genapic.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/arch/x86_64/kernel/genapic.c b/arch/x86_64/kernel/genapic.c
index fe416fd4dbe0..7a64ea181788 100644
--- a/arch/x86_64/kernel/genapic.c
+++ b/arch/x86_64/kernel/genapic.c
@@ -104,9 +104,14 @@ void __init clustered_apic_check(void)
104 * (We don't use lowest priority delivery + HW APIC IRQ steering, so 104 * (We don't use lowest priority delivery + HW APIC IRQ steering, so
105 * can ignore the clustered logical case and go straight to physical.) 105 * can ignore the clustered logical case and go straight to physical.)
106 */ 106 */
107 if (clusters <= 1 && max_cluster <= 8 && cluster_cnt[0] == max_cluster) 107 if (clusters <= 1 && max_cluster <= 8 && cluster_cnt[0] == max_cluster) {
108#ifdef CONFIG_HOTPLUG_CPU
109 /* Don't use APIC shortcuts in CPU hotplug to avoid races */
110 genapic = &apic_physflat;
111#else
108 genapic = &apic_flat; 112 genapic = &apic_flat;
109 else 113#endif
114 } else
110 genapic = &apic_cluster; 115 genapic = &apic_cluster;
111 116
112print: 117print: