hardclock() sources

Peter Jeremy peterjeremy at optushome.com.au
Wed May 6 10:13:07 UTC 2009


Currently, FreeBSD uses the LAPIC timer to derive both hardclock()
and statclock()/profclock() if it exists, otherwise it uses the
8254 and RTC.  This presents a problem for using C3 - which stops
the LAPIC clock.

Some time ago, ariff@ produced a patch to work around a similar
problem with C1E on some AMD Turion CPUs:
http://people.freebsd.org/~ariff/misc/idlecpu_apic_5.diff

A better solution would seem to be to use a HPET periodic timer.  Is
there a particular reason why code to (at least optionally) support
HPET as the timer interrupt hasn't been written?  Looking back through
the archives, pkh@ has made disparaging remarks about the actual
usefulness of HPET (as against the Intel documentation) but I can't
find anything that actually talks about using it.

Note that supporting HPET as a timer source would provide at least
some of the infrastructure that will be needed for a future tickless
kernel.

-- 
Peter Jeremy
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-current/attachments/20090506/7218f811/attachment.pgp


More information about the freebsd-current mailing list