Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 17 Mar 2009 15:24:26 +0000 (GMT)
From:      Robert Watson <rwatson@FreeBSD.org>
To:        Paolo Pisati <p.pisati@oltrelinux.com>
Cc:        Barney Cordoba <barney_cordoba@yahoo.com>, current@freebsd.org
Subject:   Re: Interrupt routine usage not shown by top in 8.0
Message-ID:  <alpine.BSF.2.00.0903171524040.55043@fledge.watson.org>
In-Reply-To: <49BFB340.9050909@oltrelinux.com>
References:  <929422.83072.qm@web63908.mail.re1.yahoo.com> <alpine.BSF.2.00.0903171359590.55043@fledge.watson.org> <49BFB340.9050909@oltrelinux.com>

next in thread | previous in thread | raw e-mail | index | archive | help

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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?alpine.BSF.2.00.0903171524040.55043>