From 7b5aa8c809247366a032e9f61cf6b8d1e5c8dff1 Mon Sep 17 00:00:00 2001 From: Andi Kleen Date: Mon, 12 Sep 2005 18:49:24 +0200 Subject: [PATCH] --- yaml --- r: 8621 b: refs/heads/master c: 5bf97e01192f0fcdff2f0e9eae063e7785f6f915 h: refs/heads/master i: 8619: 9e70fe994a85e3520737991dc87736cf9d7a4a48 v: v3 --- [refs] | 2 +- trunk/arch/x86_64/kernel/genapic.c | 9 +++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 5e42ada177f2..825c77321531 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 27183ebd330a676fe29f7eb9b7ff582492246ec8 +refs/heads/master: 5bf97e01192f0fcdff2f0e9eae063e7785f6f915 diff --git a/trunk/arch/x86_64/kernel/genapic.c b/trunk/arch/x86_64/kernel/genapic.c index fe416fd4dbe0..7a64ea181788 100644 --- a/trunk/arch/x86_64/kernel/genapic.c +++ b/trunk/arch/x86_64/kernel/genapic.c @@ -104,9 +104,14 @@ void __init clustered_apic_check(void) * (We don't use lowest priority delivery + HW APIC IRQ steering, so * can ignore the clustered logical case and go straight to physical.) */ - if (clusters <= 1 && max_cluster <= 8 && cluster_cnt[0] == max_cluster) + if (clusters <= 1 && max_cluster <= 8 && cluster_cnt[0] == max_cluster) { +#ifdef CONFIG_HOTPLUG_CPU + /* Don't use APIC shortcuts in CPU hotplug to avoid races */ + genapic = &apic_physflat; +#else genapic = &apic_flat; - else +#endif + } else genapic = &apic_cluster; print: