Date: Wed, 6 Dec 2006 23:49:29 +1100 (EST) From: Bruce Evans <bde@zeta.org.au> To: Suleiman Souhlal <ssouhlal@FreeBSD.org> Cc: Bruce Evans <bde@FreeBSD.org>, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/i386/isa clock.c src/sys/amd64/isa clock.c Message-ID: <20061206233934.E33574@delplex.bde.org> In-Reply-To: <45767A96.6070508@FreeBSD.org> References: <200612030349.kB33nTDO057097@repoman.freebsd.org> <45767A96.6070508@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20061206233934.E33574>