Re: perf uncore & lkvm woes

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

 



On 08/20/2012 04:49 PM, Avi Kivity wrote:
> 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 problem is that there are hundreds of MSRs, but only a few of them are
defined in the header file of uncore driver. The uncore driver computes
addresses of the rest MSRs by using uncore box index and counter index.

Regards
Yan, Zheng
> 
>> 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.
> 

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