From owner-freebsd-current Mon Sep 11 0:26: 8 2000 Delivered-To: freebsd-current@freebsd.org Received: from wantadilla.lemis.com (wantadilla.lemis.com [192.109.197.80]) by hub.freebsd.org (Postfix) with ESMTP id 1630937B423; Mon, 11 Sep 2000 00:26:03 -0700 (PDT) Received: (from grog@localhost) by wantadilla.lemis.com (8.11.0/8.9.3) id e8B7PwS63667; Mon, 11 Sep 2000 16:55:58 +0930 (CST) (envelope-from grog) Date: Mon, 11 Sep 2000 16:55:58 +0930 From: Greg Lehey To: Bruce Evans Cc: Ben Smithurst , current@FreeBSD.ORG Subject: Re: page fault in sched_ithd Message-ID: <20000911165558.E19431@wantadilla.lemis.com> References: <20000911120434.C19431@wantadilla.lemis.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 1.0i In-Reply-To: ; from bde@zeta.org.au on Mon, Sep 11, 2000 at 05:44:43PM +1100 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-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG On Monday, 11 September 2000 at 17:44:43 +1100, Bruce Evans wrote: > On Mon, 11 Sep 2000, Greg Lehey wrote: > >> On Monday, 11 September 2000 at 13:18:37 +1100, Bruce Evans wrote: >>> The stray interrupt handler needs to have a thread, or stray interrupts >>> need to be handled as traps. Stray interrupts are more like NMIs than >>> normal interrupts, and NMIs are already (mis)handled as traps. >> >> Independently of that, we need to be able to survive a spurious >> interrupt on any IRQ. > > Not really independent. Spurious interrupts on "any" IRQ can't > happen, interrupts without a handler are masked. Right, I had forgotten that. But it's still defensive programming to DTRT if we get one, especially if it doesn't cost anything. > Spurious interrupts on irq7/irq15 can happen because normal masking > by the irq7/irq15 bit in the ICU doesn't apply (I think they can > happen even if all bits in the ICU mask are set). They are like an > NMI in this respect. Strange. Does this still happen on modern hardware? > The old code accidentally had some defense against nested spurious > interrupts. Masking in the ICU doesn't work, but masking in `cpl' > happens to do the right thing (actually the same wrong thing as for > non-nested spurious interrupts). We don't have a cpl any more. 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-current" in the body of the message