Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 19 Jul 2000 14:07:07 +0930
From:      Greg Lehey <grog@lemis.com>
To:        Mike Smith <msmith@FreeBSD.ORG>
Cc:        Alfred Perlstein <bright@wintelcom.net>, arch@FreeBSD.ORG, smp@FreeBSD.ORG
Subject:   Re: Tidying up the interrupt registration process
Message-ID:  <20000719140707.K12072@wantadilla.lemis.com>
In-Reply-To: <200007190415.VAA21470@mass.osd.bsdi.com>
References:  <20000718205756.Q13979@fw.wintelcom.net> <200007190415.VAA21470@mass.osd.bsdi.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tuesday, 18 July 2000 at 21:15:53 -0700, Mike Smith wrote:
>> * Mike Smith <msmith@FreeBSD.ORG> [000718 20:55] wrote:
>>>
>>> Sharing a 'fast' interrupt completely defeats the point of making it
>>> 'fast'.  You should not be able to register a 'fast' handler on any
>>> source with anything else attached, nor anything else on a source that
>>> has a 'fast' handler already registered.  Yes, this does impose some
>>> configuration constraints on the system, but there are few viable
>>> alternatives.
>>
>> Just wondering, could a device fall back to non-fast mode if the
>> hardware forced this sort of situation but still complain about it?
>
> You don't typically bother requesting a 'fast' interrupt unless you
> really need it.  This decision would have to be left up to the
> device driver - some might be OK accepting the tradeoff (eg. sio),
> wheras for others this might constitute a fatal error.

In fact, unless I'm missing something, it looks as if there's no code
there to stop you from sharing fast interrupts.  I could have sworn
there was, but the code in intr_machdep.c doesn't check.  The cy
driver also sets INTR_EXCL, which is checked for, but nexus_setup_intr
doesn't.  If you share a fast interrupt and a slow interrupt, the
first-level handler becomes the mux, and so it appears that the "fast"
attribute would just go away, *without* any warning.  I don't know if
there's something else that would stop it from working at all.

Greg
--
Finger grog@lemis.com for PGP public key
See complete headers for address and phone numbers


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-arch" in the body of the message




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