From owner-freebsd-smp Tue Nov 19 22:16:23 1996 Return-Path: owner-smp Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id WAA07358 for smp-outgoing; Tue, 19 Nov 1996 22:16:23 -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 WAA07343 for ; Tue, 19 Nov 1996 22:16:12 -0800 (PST) Received: from localhost (localhost [127.0.0.1]) by clem.systemsix.com (8.6.12/8.6.12) with SMTP id XAA22765; Tue, 19 Nov 1996 23:15:57 -0700 Message-Id: <199611200615.XAA22765@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: Barney Wolff cc: freebsd-smp@freebsd.org Subject: Re: 8259 vs APIC In-reply-to: Your message of "Wed, 20 Nov 1996 00:17:00 EST." <329296a60.1bae@databus.databus.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Tue, 19 Nov 1996 23:15:56 -0700 Sender: owner-smp@freebsd.org X-Loop: FreeBSD.org Precedence: bulk Hi, > If you'll pardon the naive opinion, it sounds to me as tho the 8259 > is expecting to handle edge-triggered interrupts (as we know to be > true, right?) but the APIC is really expecting level-triggered ints, > where the int will still be there when it's finally unmasked. it can be programmed on a pin by pin basis for either edge or level. --- > If that's true, I would be looking at a solution that kept the edge- > triggered ints on the 8259, as nothing will save you otherwise. So > what if you cut the rate of lost ints to one a week - that's utterly > unacceptable for a production machine. the "window of opportunity" can be closed with clever programming. I believe Bruce once commented that he thinks we could get away without masking edge trigger INTs entirely. Explaining why keeping the 8259s in the picture would take a small book to do properly, but the short version is that it would mean incredibly complex, inefficient code. Again, its an issue of priority vs. resources. Hopefully someone with more expertise than I in this area will step in and do "the good thing" with it. Or, sooner or later, I'll find time to tackle it. The SMP kernel runs for days without problems in its current state, so this is a low priority. The "giant locking" paradigm is the squeeky wheel right now. --- > I seem to recall that the APIC can be set for either edge or level, or > am I just fantasizing again? it can be set to either, BUT that 'either' has to be whatever the driving card is providing. In the case of ISA, thats active high/edge triggered. -- Steve Passe | powered by smp@csn.net | FreeBSD