aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTian, Kevin <[email protected]>2011-05-06 14:43:36 +0800
committerThomas Gleixner <[email protected]>2011-05-19 14:51:08 +0200
commitb87ba87ca26e226b2277a2d5613ed596f408e96d (patch)
tree690e80e3f3f17cec51c0ddbd112fe0ca18a38e39
parent2e9521fd656f05a716b5294a7dbebd37ced05e43 (diff)
x86: Skip migrating IRQF_PER_CPU irqs in fixup_irqs()
IRQF_PER_CPU means that the irq cannot be moved away from a given cpu. So it must not be migrated when the cpu goes offline. [ tglx: massaged changelog ] Signed-off-by: Fengzhe Zhang <[email protected]> Signed-off-by: Kevin Tian <[email protected]> Cc: Ian Campbell <[email protected]> Cc: Jan Beulich <[email protected]> Cc: "[email protected]" <[email protected]> Link: http://lkml.kernel.org/r/%3C625BA99ED14B2D499DC4E29D8138F1505C8ED7F7E2%40shsmsx502.ccr.corp.intel.com%3E Signed-off-by: Thomas Gleixner <[email protected]>
-rw-r--r--arch/x86/kernel/irq.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/x86/kernel/irq.c b/arch/x86/kernel/irq.c
index 1cb0b9fc78dc..544efe2741be 100644
--- a/arch/x86/kernel/irq.c
+++ b/arch/x86/kernel/irq.c
@@ -249,7 +249,7 @@ void fixup_irqs(void)
data = irq_desc_get_irq_data(desc);
affinity = data->affinity;
- if (!irq_has_action(irq) ||
+ if (!irq_has_action(irq) || irqd_is_per_cpu(data) ||
cpumask_subset(affinity, cpu_online_mask)) {
raw_spin_unlock(&desc->lock);
continue;