genirq: enable polling for disabled screaming irqs
authorEric W. Biederman <ebiederm@xmission.com>
Thu, 10 Jul 2008 21:48:54 +0000 (14:48 -0700)
committerIngo Molnar <mingo@elte.hu>
Fri, 18 Jul 2008 17:21:13 +0000 (19:21 +0200)
When we disable a screaming irq we never see it again.  If the irq
line is shared or if the driver half works this is a real pain.  So
periodically poll the handlers for screaming interrupts.

I use a timer instead of the classic irq poll technique of working off
the timer interrupt because when we use the local apic timers
note_interrupt is never called (bug?).  Further on a system with
dynamic ticks the timer interrupt might not even fire unless there is
a timer telling it it needs to.

I forced this case on my test system with an e1000 nic and my ssh
session remained responsive despite the interrupt handler only being
called every 10th of a second.

Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>

No differences found