On Fri, Jan 07, 2005 at 04:38:32AM +0000, Matthew Wilcox wrote:
> On Thu, Jan 06, 2005 at 11:53:27PM -0500, Lukasz Kosewski wrote:
> > I have an idea of something I might do for 2.6.11, but I doubt anyone
> > will actually agree with it.  Say we keep a counter of how many times
> > interrupt x has been fired off since the last timer interrupt
> > (obviously, a timer interrupt resets the counter).  Then we can pick an
> > arbitrary threshold for masking out this interrupt until another device
> > actually pines for it.
> > 
> > Or something.  The point is, we need a general solution to the problem,
> > not poking about in every single driver trying to tie it down.
> 
> Something like note_interrupt() in kernel/irq/spurious.c?

BTW I wonder if its feasible to add an interface on top of 
kernel/irq/spurious.c for 
notifying drivers about interrupts storms, so they can take appropriate action 
(try to reset the device).

For example I've seen a 8390 based pcnet_cs driven (Linksys EtherFast 10/100+ + 
56K Modem) PCMCIA
card go nuts and trigger infinite interrupt storms on custom PowerPC hardware 
under certain situations, 
and resetting the device after a high limit of bogus interrupts "brought the 
hardware back", stabilizing
the system.

Would be nice to be able to change the current hardcoded nr-of-interrupt 
limits, and 
have a notification mechanism.

Not sure if this kind of problem is common enough that adding a generic API 
is worth it, though ?
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to