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>