Re: PATCH - update TSC freq when cpufreq changes it



On Tuesday 27 February 2007 23:16, Nate Lawson wrote:
Attached is a patch that uses eventhandlers to update the TSC freq.
This is important because DELAY() uses TSC directly (on i386 and amd64)
but the rate calculated at boot changes if cpufreq is in use.

It maintains current behavior that cpufreq transitions are denied if
TSC is the active timecounter. The API is that there is a pre and post
transition eventhandler that is called by the cpufreq core. The pre
handler is passed the next state (including freq, power, etc.) and can
store a non-zero status value in the output arg to indicate it wants to
reject the transition. The post handler also is passed the next state
and the result of the transition (0 on success).

Any reason for passing the result to the post handler in by reference -
other than being able to re-use the same function type as in the pre
handler? API-wise this seems to be a mistake as one consumer could mess
up the result for the rest and the variable name "error" in the INVOKE
also suggests that this could be used to report back.

Once any issues are addressed, I'll update this for amd64, ALTQ, and
possibly PC98. Non-x86 archs can stick with the current behavior if
they're satisfied or hook the eventhandlers provided to DTRT.

--
/"\ Best regards, | mlaier@xxxxxxxxxxx
\ / Max Laier | ICQ #67774661
X http://pf4freebsd.love2party.net/ | mlaier@EFnet
/ \ ASCII Ribbon Campaign | Against HTML Mail and News

Attachment: pgpcqPRjjNhY5.pgp
Description: PGP signature



Relevant Pages

  • Re: PATCH - update TSC freq when cpufreq changes it
    ... but the rate calculated at boot changes if cpufreq is in use. ... transition eventhandler that is called by the cpufreq core. ... Any reason for passing the result to the post handler in by reference - ...
    (freebsd-current)
  • Re: PATCH - update TSC freq when cpufreq changes it
    ... but the rate calculated at boot changes if cpufreq is in use. ... transition eventhandler that is called by the cpufreq core. ... The post handler also is passed the next state ... Any reason for passing the result to the post handler in by reference - ...
    (freebsd-arch)
  • Re: PATCH - update TSC freq when cpufreq changes it
    ... but the rate calculated at boot changes if cpufreq is in use. ... transition eventhandler that is called by the cpufreq core. ... The post handler also is passed the next state ... Any reason for passing the result to the post handler in by reference - ...
    (freebsd-current)