yet another irq storm
PATCH 1/1 yet another irq storm
Must be global warming, I'm getting a lot more irq storms than usual.
Now that I switched over to x86_64, I booted up and got another irq storm. So I added my previous patch and it didn't fix it. Looking further, I found that the mask and unmask is done directly in the x86_64/io_apic.c file.
This patch does basically the same thing as my previous patch, but to the x86_64/io_apic.c file.
Signed-off-by Steven Rostedt <[email protected]>
arch/x86_64/kernel/io_apic.c +2 -1
@@ -1437,7 +1437,8 @@ static void ack_apic_level(unsigned intirq_complete_move (irq);#if defined(CONFIG_GENERIC_PENDING_IRQ ) || defined(CONFIG_IRQBALANCE )/* If we are moving the irq we need to mask it */ -if (unlikely (irq_desc[irq].status &IRQ_MOVE_PENDING )) { +if (unlikely (irq_desc[irq].status &IRQ_MOVE_PENDING ) && + !(irq_desc[irq].status &IRQ_INPROGRESS )) { do_unmask_irq =1 ;mask_IO_APIC_irq (irq); }