Skip site navigation (1)Skip section navigation (2)
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>