Date: Mon, 11 Sep 2000 20:08:08 +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.0009112001080.894-100000@besplex.bde.org> In-Reply-To: <20000911165558.E19431@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 17:44:43 +1100, Bruce Evans wrote: > > On Mon, 11 Sep 2000, Greg Lehey wrote: > >> 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. It's a waste of time to check your own args, and not free here. > > 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? Modern ICUs are hopefully bug for bug compatible with old ones. > > 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. That's why I wrote "the old code ... had ...". 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.0009112001080.894-100000>