Re: [PATCH v9 00/10] Guest Last Branch Recording Enabling

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

 



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





[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