On 08/19/2012 05:55 PM, Avi Kivity wrote: > On 08/17/2012 09:56 AM, Peter Zijlstra wrote: >> On Fri, 2012-08-17 at 09:40 +0800, Yan, Zheng wrote: >>> >>> Peter, do I need to submit a patch disables uncore on virtualized CPU? >>> >> I think Avi prefers the method where KVM 'fakes' the MSRs and we have to >> detect if the MSRs actually work or not. > > s/we have/we don't have/. > >> >> If you're willing to have a go at that, please do so. If you're not sure >> how to do the KVM part, I'm sure Avi and/or Gleb can help you out. > > Certainly, please see kvm_pmu_get_msr() and kvm_pmu_set_msr(). > > The approach is that if an msr write can be emulated correctly (for > example, it disables a counter) then we let it proceed; if it cannot be > emulated correctly (for example it enables a counter that we cannot > emulate), then we ignore it, but print out a message that tells the user > that we're faking something that may cause the guest to malfunction. > There is only one kvm_pmu structure in struct kvm_vcpu_arch, but the uncore driver may define dozens of PMUs. Besides the uncore PMUs make extensive use of extra registers, I don't think we can store these information in kvm_pmu structure. The uncore pmu collects system-wide events on a given socket, it may not be possible to be simulated by virtualized CPU. I think it's better to just disable uncore on virtualized CPU. Regards Yan, Zheng -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html