Messages in this thread | | | From | Like Xu <> | Subject | Re: [PATCH v14 00/11] KVM: x86/pmu: Guest Last Branch Recording Enabling | Date | Fri, 30 Jul 2021 11:28:10 +0800 |
| |
On 30/7/2021 11:15 am, Liuxiangdong wrote: > Hi, like. > > Does it have requirement on CPU if we want to use LBR in Guest?
As long as you find valid output from the "dmesg| grep -i LBR" like "XX-deep LBR", you can use LBR on the host and theoretically on the most Intel guest.
But I don't have various Intel machine types for testing.
As far as I know, the guest LBR doesn't work on the platforms that the MSR_LBR_SELECT is defined per physical core not logical core.
I will fix this issue by making KVM aware of the recent core scheduling policy.
> > I have tried linux-5.14-rc3 on different CPUs. And I can use lbr on > Haswell, Broadwell, skylake and icelake, but I cannot use lbr on IvyBridge.
I suppose INTEL_FAM6_IVYBRIDGE and INTEL_FAM6_IVYBRIDGE_X do support LBR.
You may check the return values from x86_perf_get_lbr() or cpuid_model_is_consistent() in the KVM for more details.
> > Thanks! > > > On 2021/7/29 20:40, Liuxiangdong wrote: >> Hi, like. >> >> This patch set has been merged in 5.12 kernel tree so we can use LBR >> in Guest. >> Does it have requirement on CPU? >> I can use lbr in guest on skylake and icelake, but cannot on IvyBridge. >> >> I can see lbr formats(000011b) in perf_capabilities msr(0x345), but >> there is still >> error when I try. >> >> $ perf record -b >> Error: >> cycles: PMU Hardware doesn't support sampling/overflow-interrupts. Try >> 'perf stat' >> >> Host CPU: >> Architecture: x86_64 >> CPU op-mode(s): 32-bit, 64-bit >> Byte Order: Little Endian >> Address sizes: 46 bits physical, 48 bits virtual >> CPU(s): 24 >> On-line CPU(s) list: 0-23 >> Thread(s) per core: 2 >> Core(s) per socket: 6 >> Socket(s): 2 >> NUMA node(s): 2 >> Vendor ID: GenuineIntel >> CPU family: 6 >> Model: 62 >> Model name: Intel(R) Xeon(R) CPU E5-2620 v2 @ >> 2.10GHz >> Stepping: 4 >> >> >> Thanks! >> Xiangdong Liu >
| |