Hi,
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
-------------------------------------------------------
linux-2.6.16-xen-powernow-k8-msr-fix.diff
Description: Text Data
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|