From owner-freebsd-hackers Thu Oct 3 07:19:45 1996 Return-Path: owner-hackers Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id HAA29431 for hackers-outgoing; Thu, 3 Oct 1996 07:19:45 -0700 (PDT) Received: from godzilla.zeta.org.au (godzilla.zeta.org.au [203.2.228.19]) by freefall.freebsd.org (8.7.5/8.7.3) with ESMTP id HAA29424 for ; Thu, 3 Oct 1996 07:19:39 -0700 (PDT) Received: (from bde@localhost) by godzilla.zeta.org.au (8.7.6/8.6.9) id AAA17572; Fri, 4 Oct 1996 00:08:55 +1000 Date: Fri, 4 Oct 1996 00:08:55 +1000 From: Bruce Evans Message-Id: <199610031408.AAA17572@godzilla.zeta.org.au> To: bde@zeta.org.au, Tor.Egge@idt.ntnu.no Subject: Re: Interrupt lossage in FreeBSD-current. Cc: freebsd-hackers@freebsd.org Sender: owner-hackers@freebsd.org X-Loop: FreeBSD.org Precedence: bulk >I no longer see this as a latency issue with regard to the RTC. >Something else was causing one RTC interrupt to be lost. It may have been a software bug. I just implemented lazy masking of interrupts (don't make in the ICU except in the unusual event that an interrupt repeats while it is being handled) and had problems because I forgot about the intN instructions in icu.s. The intN's were interpreted as repeated interrupts and not serviced. You could easily have a similar bug in attempting to not service the same clock interrupt twice. Statistics for lazy masking on an isa system: interrupt total repeated clk0 irq0 2052707 5107 rtc0 irq8 2610866 26 fdc0 irq6 2 0 sc0 irq1 1739 20 lpt0 irq7 1 0 wd0 irq14 6339295 2448 ed0 irq15 411078 2761 Lazy masking saved a whole 17 seconds out of 5.5 hours of uptime :-). The relatively large number of wd0 irqs is for testing something that involved too many synchronous metadata updates. Bruce