x86: numachip: Elide self-IPI ICR polling
authorDaniel J Blueman <daniel@numascale.com>
Tue, 4 Nov 2014 08:29:42 +0000 (16:29 +0800)
committerThomas Gleixner <tglx@linutronix.de>
Tue, 4 Nov 2014 17:17:27 +0000 (18:17 +0100)
The default self-IPI path polls the ICR to delay sending the IPI until
there is no IPI in progress. This is redundant on x86-86 APICs, since
IPIs are queued. See the AMD64 Architecture Programmer's Manual, vol 2,
p525.

Signed-off-by: Daniel J Blueman <daniel@numascale.com>
Cc: Steffen Persvold <sp@numascale.com>
Cc: Bjorn Helgaas <bhelgaas@google.com>
Link: http://lkml.kernel.org/r/1415089784-28779-2-git-send-email-daniel@numascale.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
arch/x86/kernel/apic/apic_numachip.c

index 2aaee79fb129103e05430b6de3f1bf2e441e8bed..7a3191232630bc259f50e9510251811d7d260a06 100644 (file)
@@ -145,7 +145,7 @@ static void numachip_send_IPI_all(int vector)
 
 static void numachip_send_IPI_self(int vector)
 {
-       __default_send_IPI_shortcut(APIC_DEST_SELF, vector, APIC_DEST_PHYSICAL);
+       apic_write(APIC_SELF_IPI, vector);
 }
 
 static int __init numachip_probe(void)