PATCH - update TSC freq when cpufreq changes it

Nate Lawson nate at root.org
Wed Feb 28 20:17:30 UTC 2007


Poul-Henning Kamp wrote:
> In message <45E4ADCD.4090909 at root.org>, Nate Lawson writes:
> 
>> Attached is a patch that uses eventhandlers to update the TSC freq.
> 
> Question:  are we at a point where the TSC-frequency reported by ACPI
> is more precise than our own ad-hoc calibrations ?

It's a valid question, but mostly irrelevant.  This code only comes into
play after the TSC freq has been changed by a cpufreq driver.  If the
freq never changes, we always use the original boot-calibrated value.
For example, if the freq went from 1600 to 800 mhz, the original value
is off by 100% with the current code.  The values supplied by the
cpufreq driver are definitely going to be a lot closer.

In the long term, I have some calibration code that bde@ helped with
that gets a very accurate value but may take a while to reach
equilibrium (since it runs with interrupts enabled).  This would only
run once in a task thread the first time a given freq is chosen.  Then
we'd cache that value for that setting.

-- 
Nate


More information about the freebsd-arch mailing list