[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH] Make cpufreq drivers (powernow-k8) Xen-compatible


The attached patch fixes the powernow-k8 cpufreq module so it uses DOM0_OP_MSR 
to properly set the K8 voltage/frequency MSRs when running under Xen, instead 
of directly using rdmsr/wrmsr, which were being silently ignored.

The patch will eliminate syslog messages like this:

  kernel: powernow-k8: transition frequency failed
  kernel: powernow-k8: fid trans failed, fid 0xa, curr 0x0

I'm now successfully using Xen on my Athlon 64 laptop with this patch, and the 
CPU really changes frequency/voltage, instead of just pretending to do so 
when wrmsr was ignored without the patch.

Presently it only works on single CPU machines, but you could readily extend 
it to many cores by properly setting the cpumask vector before calling 
DOM0_OP_MSR (note that cpufreq itself still seems to have bugs on the 
dual-core Opterons, so that may not be relevant right now).

The xen_access_msr() function can be easily pasted into the other cpufreq 
drivers, but since I have an Athlon 64, that's the only one I patched.

[I'm not on the list, please forward replies].

- Matt Yourst

 Matt T. Yourst               yourst@xxxxxxxxxxxxxxxxx
 Binghamton University, Department of Computer Science

Attachment: linux-2.6.16-xen-powernow-k8-msr-fix.diff
Description: Text Data

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.