Date: Mon, 11 Sep 2000 17:44:43 +1100 (EST) From: Bruce Evans <bde@zeta.org.au> To: Greg Lehey <grog@lemis.com> Cc: Ben Smithurst <ben@FreeBSD.ORG>, current@FreeBSD.ORG Subject: Re: page fault in sched_ithd Message-ID: <Pine.BSF.4.21.0009111724080.753-100000@besplex.bde.org> In-Reply-To: <20000911120434.C19431@wantadilla.lemis.com>
next in thread | previous in thread | raw e-mail | index | archive | help
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. 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. 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). Bruce 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?Pine.BSF.4.21.0009111724080.753-100000>