From owner-freebsd-arch Tue Jul 18 21:37:16 2000 Delivered-To: freebsd-arch@freebsd.org Received: from wantadilla.lemis.com (wantadilla.lemis.com [192.109.197.80]) by hub.freebsd.org (Postfix) with ESMTP id A437F37B99B; Tue, 18 Jul 2000 21:37:09 -0700 (PDT) (envelope-from grog@wantadilla.lemis.com) Received: (from grog@localhost) by wantadilla.lemis.com (8.9.3/8.9.3) id OAA33609; Wed, 19 Jul 2000 14:07:07 +0930 (CST) (envelope-from grog) Date: Wed, 19 Jul 2000 14:07:07 +0930 From: Greg Lehey To: Mike Smith Cc: Alfred Perlstein , arch@FreeBSD.ORG, smp@FreeBSD.ORG Subject: Re: Tidying up the interrupt registration process Message-ID: <20000719140707.K12072@wantadilla.lemis.com> References: <20000718205756.Q13979@fw.wintelcom.net> <200007190415.VAA21470@mass.osd.bsdi.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 1.0pre2i In-Reply-To: <200007190415.VAA21470@mass.osd.bsdi.com> Organization: LEMIS, PO Box 460, Echunga SA 5153, Australia Phone: +61-8-8388-8286 Fax: +61-8-8388-8725 Mobile: +61-418-838-708 WWW-Home-Page: http://www.lemis.com/~grog X-PGP-Fingerprint: 6B 7B C3 8C 61 CD 54 AF 13 24 52 F8 6D A4 95 EF Sender: owner-freebsd-arch@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG On Tuesday, 18 July 2000 at 21:15:53 -0700, Mike Smith wrote: >> * Mike Smith [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