Commit 7213ce08 authored by Martin Hicks's avatar Martin Hicks Committed by David Mosberger

[PATCH] ia64: don't call note_interrupt() for per-CPU irqs

The note_interrupt() code is racy for per-CPU irqs and causes severe
performance problems due to cache-line bouncing on large SMPs.  Just don't
call it for that case.
parent 4446aef0
...@@ -465,8 +465,6 @@ unsigned int do_IRQ(unsigned long irq, struct pt_regs *regs) ...@@ -465,8 +465,6 @@ unsigned int do_IRQ(unsigned long irq, struct pt_regs *regs)
desc->handler->ack(irq); desc->handler->ack(irq);
action_ret = handle_IRQ_event(irq, regs, desc->action); action_ret = handle_IRQ_event(irq, regs, desc->action);
desc->handler->end(irq); desc->handler->end(irq);
if (!noirqdebug)
note_interrupt(irq, desc, action_ret);
} else { } else {
spin_lock(&desc->lock); spin_lock(&desc->lock);
desc->handler->ack(irq); desc->handler->ack(irq);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment