Date: Tue, 17 Mar 2009 14:04:25 +0000 (GMT) From: Robert Watson <rwatson@FreeBSD.org> To: Barney Cordoba <barney_cordoba@yahoo.com> Cc: current@freebsd.org Subject: Re: Interrupt routine usage not shown by top in 8.0 Message-ID: <alpine.BSF.2.00.0903171359590.55043@fledge.watson.org> In-Reply-To: <929422.83072.qm@web63908.mail.re1.yahoo.com> References: <929422.83072.qm@web63908.mail.re1.yahoo.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 13 Mar 2009, Barney Cordoba wrote:
> Can you clarify the difference between using a fast irq and then launching a
> thread (as em does) versus using an MPSAFE interrupt as most other drivers
> (particularly bge and ibg) use?
>
> How do they differ in terms of how they are called and executed?
I agree that the code there looks inconsistent in when it uses fast vs regular
mpsafe interrupts, Scott may be able to shed more light on this. I'm
especially confused by:
#if __FreeBSD_version < 700000
if ((error = bus_setup_intr(dev, adapter->res[0],
INTR_TYPE_NET | INTR_FAST, em_irq_fast, adapter,
#else
if ((error = bus_setup_intr(dev, adapter->res[0],
INTR_TYPE_NET, em_irq_fast, NULL, adapter,
#endif
This is in what I took to be the INTR_FAST registration, so I would expect
also to see INTR_FAST in the mask for that second bit.
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.0903171359590.55043>
