Interrupt routine usage not shown by top in 8.0

Robert Watson rwatson at FreeBSD.org
Tue Mar 17 08:24:27 PDT 2009


On Tue, 17 Mar 2009, Paolo Pisati wrote:

> perhaps i misunderstood your question, but i'll try to explain a bit:
>
> before 7.0, bus_setup_intr() took just one function thus you could have an 
> INTR_FAST or an INTR_MPSAFE handler, and you choose the kind of handler via 
> a flag (INTR_FAST in this case).
>
> after 7.0, bus_setup_intr() took 2 functions, thus you could have: a fast 
> handler (aka filter), or an ithread handler (aka mpsafe), or a fast + 
> ithread handler (available only with INTR_FILTER turned on).
>
> in bus_setup_intr() the first function pointer is for the filter side of the 
> handler, while the second pointer is for the ithread part, and if you 
> declare both you can filter events (interrupts) and call the rest of the 
> device driver (the ithread part) after the filter has recognized and 
> acknowledged&masked the interrupt.

This clarifies my misunderstanding, thanks!

Robert N M Watson
Computer Laboratory
University of Cambridge


More information about the freebsd-current mailing list