Hi Peter,
any comments on the host perf changes?
Hi Paolo,
any comments on the kvm changes? Isn't this feature interesting to you?
Just kindly ping.
Thanks,
Like Xu
On 2020/3/13 10:16, Like Xu wrote:
Hi all,
Please help review your interesting parts in this stable version,
e.g. the first four patches involve the perf event subsystem
and the fifth patch concerns the KVM userspace interface.
v8->v9 Changelog:
- using guest_lbr_constraint to create guest LBR event without hw counter;
ÂÂ (please check perf changes in patch 0003)
- rename 'cpuc->vcpu_lbr' to 'cpuc->guest_lbr_enabled';
ÂÂ (please check host LBR changes in patch 0004)
- replace 'pmu->lbr_used' mechanism with lazy release kvm_pmu_lbr_cleanup();
- refactor IA32_PERF_CAPABILITIES trap via get_perf_capabilities();
- refactor kvm_pmu_lbr_enable() with kvm_pmu_lbr_setup();
- simplify model-specific LBR functionality check;
- rename x86_perf_get_lbr_stack to x86_perf_get_lbr;
- rename intel_pmu_lbr_confirm() to kvm_pmu_availability_check();
Previous:
https://lore.kernel.org/lkml/1565075774-26671-1-git-send-email-wei.w.wang@xxxxxxxxx/
Like Xu (7):
ÂÂ perf/x86/lbr: Add interface to get basic information about LBR stack
ÂÂ perf/x86: Add constraint to create guest LBR event without hw counter
ÂÂ perf/x86: Keep LBR stack unchanged on the host for guest LBR event
ÂÂ KVM: x86: Add KVM_CAP_X86_GUEST_LBR interface to dis/enable LBR
ÂÂÂÂ feature
ÂÂ KVM: x86/pmu: Add LBR feature emulation via guest LBR event
ÂÂ KVM: x86/pmu: Release guest LBR event via vPMU lazy release mechanism
ÂÂ KVM: x86: Expose MSR_IA32_PERF_CAPABILITIES to guest for LBR record
ÂÂÂÂ format
Wei Wang (3):
ÂÂ perf/x86: Fix msr variable type for the LBR msrs
ÂÂ KVM: x86/pmu: Tweak kvm_pmu_get_msr to pass 'struct msr_data' in
ÂÂ KVM: x86: Remove the common trap handler of the MSR_IA32_DEBUGCTLMSR
 Documentation/virt/kvm/api.rst | 28 +++
 arch/x86/events/core.c | 9 +-
 arch/x86/events/intel/core.c | 29 +++
 arch/x86/events/intel/lbr.c | 55 +++++-
 arch/x86/events/perf_event.h | 21 ++-
 arch/x86/include/asm/kvm_host.h | 7 +
 arch/x86/include/asm/perf_event.h | 24 ++-
 arch/x86/kvm/cpuid.c | 3 +-
 arch/x86/kvm/pmu.c | 28 ++-
 arch/x86/kvm/pmu.h | 26 ++-
 arch/x86/kvm/pmu_amd.c | 7 +-
 arch/x86/kvm/vmx/pmu_intel.c | 291 ++++++++++++++++++++++++++++--
 arch/x86/kvm/vmx/vmx.c | 4 +-
 arch/x86/kvm/vmx/vmx.h | 2 +
 arch/x86/kvm/x86.c | 42 +++--
 include/linux/perf_event.h | 7 +
 include/uapi/linux/kvm.h | 1 +
 kernel/events/core.c | 7 -
 tools/include/uapi/linux/kvm.h | 1 +
 19 files changed, 540 insertions(+), 52 deletions(-)