Date: Mon, 11 Sep 2000 16:55:58 +0930 From: Greg Lehey <grog@lemis.com> To: Bruce Evans <bde@zeta.org.au> Cc: Ben Smithurst <ben@FreeBSD.ORG>, current@FreeBSD.ORG Subject: Re: page fault in sched_ithd Message-ID: <20000911165558.E19431@wantadilla.lemis.com> In-Reply-To: <Pine.BSF.4.21.0009111724080.753-100000@besplex.bde.org>; from bde@zeta.org.au on Mon, Sep 11, 2000 at 05:44:43PM %2B1100 References: <20000911120434.C19431@wantadilla.lemis.com> <Pine.BSF.4.21.0009111724080.753-100000@besplex.bde.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20000911165558.E19431>