Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 4 Oct 1996 00:08:55 +1000
From:      Bruce Evans <bde@zeta.org.au>
To:        bde@zeta.org.au, Tor.Egge@idt.ntnu.no
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: Interrupt lossage in FreeBSD-current.
Message-ID:  <199610031408.AAA17572@godzilla.zeta.org.au>

next in thread | raw e-mail | index | archive | help
>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



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