Messages in this thread | | | Date | Sun, 30 Jan 2005 13:27:49 -0200 | From | Marcelo Tosatti <> | Subject | Re: SCSI aic7xxx driver: Initialization Failure over a kdump reboot |
| |
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 majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |