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