| From a2e1fcd1d71f4abe9ec2cc80844ffa7b89bf23a3 Mon Sep 17 00:00:00 2001 |
| From: Ingo Molnar <mingo@elte.hu> |
| Date: Fri, 3 Jul 2009 08:44:15 -0500 |
| Subject: [PATCH] x86: apic: level smp affinity |
| |
| commit 526c6d2325e701c32858bd3fbddaba19b45acc96 in tip. |
| |
| Signed-off-by: Ingo Molnar <mingo@elte.hu> |
| Signed-off-by: Thomas Gleixner <tglx@linutronix.de> |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| --- |
| arch/x86/kernel/apic/io_apic.c | 10 ++++++++++ |
| 1 files changed, 10 insertions(+), 0 deletions(-) |
| |
| diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c |
| index 3b18625..e0f2cef 100644 |
| --- a/arch/x86/kernel/apic/io_apic.c |
| +++ b/arch/x86/kernel/apic/io_apic.c |
| @@ -2732,6 +2732,16 @@ static void ack_apic_level(unsigned int irq) |
| move_masked_irq(irq); |
| unmask_IO_APIC_irq_desc(desc); |
| } |
| + |
| +#if (defined(CONFIG_GENERIC_PENDING_IRQ) || defined(CONFIG_IRQBALANCE)) && \ |
| + defined(CONFIG_PREEMPT_HARDIRQS) |
| + /* |
| + * With threaded interrupts, we always have IRQ_INPROGRESS |
| + * when acking. CHECKME !!!!! |
| + */ |
| + else if (unlikely(desc->status & IRQ_MOVE_PENDING)) |
| + move_masked_irq(irq); |
| +#endif |
| } |
| |
| #ifdef CONFIG_INTR_REMAP |
| -- |
| 1.7.0.4 |
| |