From owner-freebsd-smp Tue Nov 19 22:26:39 1996 Return-Path: owner-smp Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id WAA07857 for smp-outgoing; Tue, 19 Nov 1996 22:26:39 -0800 (PST) Received: from clem.systemsix.com (clem.systemsix.com [198.99.86.131]) by freefall.freebsd.org (8.7.5/8.7.3) with SMTP id WAA07850 for ; Tue, 19 Nov 1996 22:26:35 -0800 (PST) Received: from localhost (localhost [127.0.0.1]) by clem.systemsix.com (8.6.12/8.6.12) with SMTP id XAA22816; Tue, 19 Nov 1996 23:26:09 -0700 Message-Id: <199611200626.XAA22816@clem.systemsix.com> X-Authentication-Warning: clem.systemsix.com: Host localhost didn't use HELO protocol X-Mailer: exmh version 1.6.5 12/11/95 From: Steve Passe To: "Justin T. Gibbs" cc: cbrown@aracnet.com, Barney Wolff , freebsd-smp@freebsd.org Subject: Re: reinventing vs copying In-reply-to: Your message of "Tue, 19 Nov 1996 21:43:24 PST." <199611200543.VAA05726@freefall.freebsd.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Tue, 19 Nov 1996 23:26:09 -0700 Sender: owner-smp@freebsd.org X-Loop: FreeBSD.org Precedence: bulk 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