Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 19 Nov 1996 23:26:09 -0700
From:      Steve Passe <smp@csn.net>
To:        "Justin T. Gibbs" <gibbs@freefall.freebsd.org>
Cc:        cbrown@aracnet.com, Barney Wolff <barney@databus.com>, freebsd-smp@freebsd.org
Subject:   Re: reinventing vs copying 
Message-ID:  <199611200626.XAA22816@clem.systemsix.com>
In-Reply-To: Your message of "Tue, 19 Nov 1996 21:43:24 PST." <199611200543.VAA05726@freefall.freebsd.org> 

next in thread | previous in thread | raw e-mail | index | archive | help
Hi,

> >Bruce Evan's code avoids masking INTs unless the
> >kernel is already servicing the same INT.  This greatly diminishes the
> >occurance of lost INTs.
> 
> Can't you completely eliminate lost INTs with the following algorithm?
> 
> while in ISR {
> 	if interrupt happens {
> 		mask interrupt
> 		set flag to call ISR again
> 	}
> }
> unmask interrupt if masked.
> call ISR if flag is set.

possibly, the devil is in the details.  I think this is sortof what Bruce's
patch does, and perhaps it even eliminates lost INTs as oppossed to "greatly
diminishing" them as I earlier said.  I've been going 6 different directions 
lately and just haven't had time to look at this issue properly...

I encourage any INTerrupt experts out there to analyize vector.s/icu.s
for robustness.  The sections in question are those bracketed by APIC_IO and
APIC_LAZY.

--
Steve Passe	| powered by
smp@csn.net	|            FreeBSD




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199611200626.XAA22816>