diff options
author | Jan Beulich <JBeulich@novell.com> | 2011-02-17 10:54:26 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2011-02-18 02:58:00 -0500 |
commit | 58bff947e2d164c7e5cbf7f485e4b3d4884befeb (patch) | |
tree | 8ac78b374c6af3700b1e2dc47988bd05922bcf4b | |
parent | 2a324ce7b79a3a90cc2d4ade5d5f960a99000caa (diff) |
x86: Eliminate pointless adjustment attempts in fixup_irqs()
Not only when an IRQ's affinity equals cpu_online_mask is there
no need to actually try to adjust the affinity, but also when
it's a subset thereof. This particularly avoids adjustment
attempts during system shutdown to any IRQs bound to CPU#0.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Eric W. Biederman <ebiederm@xmission.com>
Cc: Suresh Siddha <suresh.b.siddha@intel.com>
Cc: Gary Hade <garyhade@us.ibm.com>
LKML-Reference: <4D5D52C2020000780003272C@vpn.id2.novell.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
-rw-r--r-- | arch/x86/kernel/irq.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/x86/kernel/irq.c b/arch/x86/kernel/irq.c index 387b6a0c9e81..78793efd3180 100644 --- a/arch/x86/kernel/irq.c +++ b/arch/x86/kernel/irq.c | |||
@@ -310,7 +310,7 @@ void fixup_irqs(void) | |||
310 | data = &desc->irq_data; | 310 | data = &desc->irq_data; |
311 | affinity = data->affinity; | 311 | affinity = data->affinity; |
312 | if (!irq_has_action(irq) || | 312 | if (!irq_has_action(irq) || |
313 | cpumask_equal(affinity, cpu_online_mask)) { | 313 | cpumask_subset(affinity, cpu_online_mask)) { |
314 | raw_spin_unlock(&desc->lock); | 314 | raw_spin_unlock(&desc->lock); |
315 | continue; | 315 | continue; |
316 | } | 316 | } |