From: Ingo Molnar Ben noticed an inefficiency in the handle_fasteoi_irq() flow handler: it does a spurious ->mask() call. (That call is not needed - if something did a disable_irq() then it would have masked the irq itself.) I tested the fix on all affected fasteoi platforms: x86 and x86_64, on both UP and SMP. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton --- kernel/irq/chip.c | 2 -- 1 file changed, 2 deletions(-) diff -puN kernel/irq/chip.c~genirq-add-chip-eoi-fastack-fasteoi-fix kernel/irq/chip.c --- devel/kernel/irq/chip.c~genirq-add-chip-eoi-fastack-fasteoi-fix 2006-06-09 15:18:35.000000000 -0700 +++ devel-akpm/kernel/irq/chip.c 2006-06-09 15:18:35.000000000 -0700 @@ -324,8 +324,6 @@ handle_fasteoi_irq(unsigned int irq, str spin_lock(&desc->lock); desc->status &= ~IRQ_INPROGRESS; out: - if (unlikely(desc->status & IRQ_DISABLED)) - desc->chip->mask(irq); desc->chip->eoi(irq); spin_unlock(&desc->lock); _