Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 09 Jan 2004 12:33:07 -0700
From:      Scott Long <scottl@freebsd.org>
To:        Daniel Eischen <eischen@vigrid.com>
Cc:        arch@FreeBSD.org
Subject:   Re: Interrupt API change
Message-ID:  <3FFF01F3.7070700@freebsd.org>
In-Reply-To: <Pine.GSO.4.10.10401091425550.10482-100000@pcnet5.pcnet.com>
References:  <Pine.GSO.4.10.10401091425550.10482-100000@pcnet5.pcnet.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Daniel Eischen wrote:
> On Fri, 9 Jan 2004, Scott Long wrote:
> 
> 
>>All,
>>
>>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 ?
> 
> 
> 

Yes, right after I hit the Send button I realized that I had forgotten
to mention this.  There will be an enumeration of return codes, but I
haven't thought up a good name for them yet.

Scott



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3FFF01F3.7070700>