Interrupt routine usage not shown by top in 8.0
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
University of Cambridge
More information about the freebsd-current