Re: [PATCH] perf/x86/intel: Use rdmsrl_safe when initializing RAPL PMU.

From: Venkatesh Srinivas
Date: Fri Mar 14 2014 - 19:08:09 EST


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.

David

Hi,

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;
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/