Re: perf uncore & lkvm woes

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

 



On 08/20/2012 07:15 AM, Yan, Zheng wrote:
> 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.

We don't need to store any information, just respond to those MSRs (and
ignore them).

> 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.

That only works for Linux guests.

-- 
error compiling committee.c: too many arguments to function
--
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


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux