[IA64] smp_flush_tlb_mm() should only send IPI's to cpus in cpu_vm_mask
commitedb91dc01a216e84b78721b71a06db1e0db141b7
authorDimitri Sivanich <sivanich@sgi.com>
Wed, 15 Apr 2009 15:56:25 +0000 (15 10:56 -0500)
committerTony Luck <tony.luck@intel.com>
Thu, 16 Apr 2009 18:51:35 +0000 (16 11:51 -0700)
tree9e030d23e6ccac225bce132d4bd5017720d8cfc8
parentc4cb768f027706b3a0190309416b13f07114fe56
[IA64] smp_flush_tlb_mm() should only send IPI's to cpus in cpu_vm_mask

Having flush_tlb_mm->smp_flush_tlb_mm() send an IPI to every cpu
on the system is occasionally triggering spin_lock contention in
generic_smp_call_function_interrupt().

Follow x86 arch's lead and only sends IPIs to the cpus in mm->cpu_vm_mask.

Experiments with this change have shown significant improvement in this
contention issue.

Signed-off-by: Dimitri Sivanich <sivanich@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
arch/ia64/kernel/smp.c