login
Header Space

 
 

Re: Interrupt, interrupt threads, continuations, and kernel lwps

Score:
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: <ad@...>
Cc: <wrstuden@...>, <jonathan@...>, <tech-kern@...>
Date: Friday, February 23, 2007 - 2:33 pm

In message: <20070222205430.GA25309@hairylemon.org>
            Andrew Doran <ad@NetBSD.org> writes:
: What Jonathan is describing is roughly how FreeBSD works, I think. When the
: interrupt comes in, mi_switch() is called to dispatch it. The thread that
: was running when the interrupt came in gets kicked off the CPU.

At least until this morning... :-)

Filters were just committed to the tree that divide the ISR into two
parts.  A fast running part (the filter) that turns off the interrupt
source in the device or otherwise services the interrupt, and a
scheduled part (the ithread) that runs if the filter says to run it.
By default, ISRs with no filter always have their ithread run.  This
also eliminates the FAST_INTERRUPT special case because now all
filters are fast interrupt hanlders (in the 5.x and later sense, not
in the older 4.x and prior sense).

Warner
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Re: Interrupt, interrupt threads, continuations, and kernel ..., Joerg Sonnenberger, (Thu Feb 22, 5:59 pm)
Re: Interrupt, interrupt threads, continuations, and kernel ..., M. Warner Losh, (Fri Feb 23, 2:33 pm)
Re: Interrupt, interrupt threads, continuations, and kernel ..., Steven M. Bellovin, (Wed Feb 21, 10:21 pm)
speck-geostationary