* Proposal: Changing enable_irq/disable_irq to be two argument.
@ 2004-09-02 12:36 Alan Cox
0 siblings, 0 replies; only message in thread
From: Alan Cox @ 2004-09-02 12:36 UTC (permalink / raw)
To: Linux Kernel Mailing List
I've been putting together some patches to deal with stuck interrupts
more intelligently. Instead of just deciding an interrupt is stuck the
code tries to respond to stuck interrupts by running every shared IRQ
handler registered. This is generally safe because SHIRQ handlers have
to check if their hardware caused the interrupt anyway. It breaks for
the corner case of disable_irq() on a shared interrupt.
Fixing this needs enable/disable_irq() to take the cookie we passed to
request/free_irq. At that point we can both disable the irq and skip the
handler when doing recovery.
Even without this change the hack test version of the change is working
very well on test hardware that previously never ran Linux properly
because of broken IRQ routing tables. Clearly it needs to be a user
enabled option because it harms performance, we need to trap any bugs we
cause in this area and to continue to provide appropriate pain to
offending hardware vendors.
Alan
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2004-09-02 13:38 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-09-02 12:36 Proposal: Changing enable_irq/disable_irq to be two argument Alan Cox
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®