x86: add smp_mb() before sending INVALIDATE_TLB_VECTOR
authorSuresh Siddha <suresh.b.siddha@intel.com>
Tue, 4 Nov 2008 21:53:04 +0000 (13:53 -0800)
committerIngo Molnar <mingo@elte.hu>
Thu, 6 Nov 2008 08:41:49 +0000 (09:41 +0100)
commitd6f0f39b7d05e62b347c4352d070e4afb3ade4b5
treef5f2e844e5674b1d572be2b6e54fb36e5540cbe3
parent7db282fa67b58daff8a57f9e1c93d4474b5908ff
x86: add smp_mb() before sending INVALIDATE_TLB_VECTOR

Impact: fix rare x2apic hang

On x86, x2apic mode accesses for sending IPI's don't have serializing
semantics. If the IPI receivner refers(in lock-free fashion) to some
memory setup by the sender, the need for smp_mb() before sending the
IPI becomes critical in x2apic mode.

Add the smp_mb() in native_flush_tlb_others() before sending the IPI.

Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/kernel/tlb_32.c
arch/x86/kernel/tlb_64.c