[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Interrupt API change
- Subject: Interrupt API change
- From: eischen at vigrid.com (Daniel Eischen)
- Date: Fri Jan 9 11:29:01 2004
On Fri, 9 Jan 2004, Scott Long wrote:
> At the September DevSummit, Peter Wemm proposed changing the device
> driver API so that interrupt routines return an INT instead of a VOID.
> The primary purpose of this is two-fold. The first is so interrupt
> handlers can communicate back to the low-level interrupt routines
> whether or not they were able to handle the interrupt. Heuristics
> can then be built on this information to better detect things like
> interrupt storms. This change also paves the way for the proposal
> to make interrupts be multi-tiered. The first level interrupt handler
> can relay back whether it wants the second-level handler to be run
> (similar to filter interrupt handlers in Max OS X).
> I'm not ready to go in the multi-level interrupt direction just yet,
> but changing the API now will help that later if needed. The change
> will consist of changing the driver_intr_t typedef in /sys/sys/bus.h
> to return an int, and then doing a sweep of the entire tree. I expect
> no functional change from this right now.
Coming from a background in Solaris device drivers, I think
is a good idea :) Can I suggest that instead of just returning
0 or non-zero, that you use something more indicative like
INTR_CLAIMED / INTR_UNCLAIMED ?