Venkatesh Srinivas
2014-Mar-14 23:07 UTC
[PATCH] perf/x86/intel: Use rdmsrl_safe when initializing RAPL PMU.
On Fri, Mar 14, 2014 at 10:57:58AM -0600, David Ahern wrote:>On 3/14/14, 10:17 AM, Andi Kleen wrote: >>>The Intel ISR section for RDMSR seems to say: "Specifying a reserved >>>or unimplemented >>>MSR address in ECX will also cause a general protection exception". >>> >>> From a guest's perspective, MSR_RAPL_POWER_UNIT is unimplemented; kvm matches >>>this behavior. >> >>MSRs are model specific and defined per model number. If you report a model >>number you're expected to implement the MSRs defined for that model number. >> >>AFAIK Xen just reports 0 for unknown MSRs (and I'm surprised KVM doesn't too) >> >>I would suggest to fix KVM. > >I believe ignore_msrs parameter to kvm handles that. > >DavidHi, cc-ing the virtualization mailing list for more detail on the kvm default for ignore_msrs (it defaults off). 1) Just returning 0 for unsupported MSRs is not workable -- 0 may be a meaningful value for an MSR. RDMSR/WRMSR already have a mechanism for out-of-band errors, #GP. 2) #GP has been KVM's default behavior for quite some time. Even if we believe changing KVM's default is appropriate, Linux w/ the RAPL PMU code enabled will fail to boot on existing KVM versions. W/ this change, Linux will boot on prior KVM versions. Thanks, -- vs;