cvs commit: src/sys/i386/isa clock.c src/sys/amd64/isa clock.c

Bruce Evans bde at zeta.org.au
Wed Dec 6 04:50:24 PST 2006


On Wed, 6 Dec 2006, Suleiman Souhlal wrote:

> Bruce Evans wrote:
>> bde         2006-12-03 03:49:28 UTC
>> 
>>   FreeBSD src repository
>> 
>>   Modified files:
>>     sys/i386/isa         clock.c     sys/amd64/isa        clock.c   Log:
>>   Optimized RTC accesses by avoiding null writes to the index register
>>   and by only delaying when an RTC register is written to.  The delay
>>   ...
>>     Optimizing RTC interrupt handling is more interesting than it used to
>>   be because RTC interrupts are currently needed to fix the more efficient
>>   apic timer interrupts on some systems.  apic_timer_hz is normally 2000
>>   so the RTC interrupt rate needs to be 2048 to keep the apic timer
>>   firing on such systems. ...

> Why do we have both RTC and LAPIC timer interrupts at once?
> Also, why does having the RTC interrupt rate being the same as the LAPIC 
> timers'
> prevent the latter from firing?

We don't in -current, but using another source of interrupts is the only
known way to make lapic timer interrupts work when cpu_idle() stops
apci timer interrupts.  Having the RTC (or some other) interrupt rate
larger than lapic timer rate makes the latter fire too (I think it fires
aperiodically when the other interrupt wakes it up iff it was asleep).

Bruce


More information about the cvs-all mailing list