All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/8] Guest LBR Enabling
@ 2018-09-06 11:30 Wei Wang
  2018-09-06 11:30 ` [PATCH v2 1/8] perf/x86: add a function to get the lbr stack Wei Wang
                   ` (7 more replies)
  0 siblings, 8 replies; 23+ messages in thread
From: Wei Wang @ 2018-09-06 11:30 UTC (permalink / raw)
  To: linux-kernel, kvm, pbonzini, ak
  Cc: kan.liang, peterz, mingo, rkrcmar, like.xu, wei.w.wang

Last Branch Recording (LBR) is a performance monitor unit (PMU) feature
on Intel CPUs that captures branch related info. This patch series enables
this feature to KVM guests.

Here is a conclusion of the fundamental methods that we use:
1) the LBR feature is enabled per guest via QEMU setting of
   KVM_CAP_X86_GUEST_LBR;
2) when the guest has the LBR feature, the LBR stack is passed through to
   the guest for direct accesses;
3) When the guest uses the LBR feature with the user callstack mode, the
   host will help save/resotre the LBR stack when the vCPU thread is
   scheduled out/in.

Patches 1-5 implements the above 1) and 2), and patches 6-8 implements
the above 3).

ChangeLog:
v1->v2:
    - add the per guest LBR capability, KVM_CAP_X86_GUEST_LBR;
    - save/restore the LBR stack conditionally on the vCPU thread context
      switching, instead of on VMX transitions;
    - expose MSR_IA32_PERF_CAPABILITIES to the guest.

The first version was sent out long time ago, and can be referenced here:
https://lkml.org/lkml/2017/9/25/11 , and thanks for lots of the
suggestions from Paolo Bonzini and Andi Kleen.

Like Xu (2):
  KVM: PMU: support to save/restore the guest lbr stack on vCPU
    switching
  perf/x86/intel/lbr: add the guest_lbr boolean to cpuc

Wei Wang (6):
  perf/x86: add a function to get the lbr stack
  KVM/x86: KVM_CAP_X86_GUEST_LBR
  KVM/vmx: Pass through the lbr stack to a guest
  KVM/x86: expose MSR_IA32_PERF_CAPABILITIES to the guest
  KVM/x86: enable the guest to access the debugctl msr
  perf/x86/intel/lbr: guest requesting KVM for lbr stack save/restore

 arch/x86/events/intel/lbr.c          | 54 +++++++++++++++++++++++++--
 arch/x86/events/perf_event.h         |  1 +
 arch/x86/include/asm/kvm_host.h      |  3 ++
 arch/x86/include/asm/perf_event.h    | 19 ++++++++++
 arch/x86/include/uapi/asm/kvm_para.h |  2 +
 arch/x86/kvm/cpuid.c                 |  5 ++-
 arch/x86/kvm/pmu_intel.c             | 71 +++++++++++++++++++++++++++++++++++-
 arch/x86/kvm/vmx.c                   | 60 ++++++++++++++++++++++++++++++
 arch/x86/kvm/x86.c                   | 18 +++------
 include/uapi/linux/kvm.h             |  1 +
 10 files changed, 215 insertions(+), 19 deletions(-)

-- 
2.7.4


^ permalink raw reply	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2018-09-18 10:34 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-09-06 11:30 [PATCH v2 0/8] Guest LBR Enabling Wei Wang
2018-09-06 11:30 ` [PATCH v2 1/8] perf/x86: add a function to get the lbr stack Wei Wang
2018-09-07  3:28   ` Andi Kleen
2018-09-07  6:45     ` Wei Wang
2018-09-06 11:30 ` [PATCH v2 2/8] KVM/x86: KVM_CAP_X86_GUEST_LBR Wei Wang
2018-09-06 11:30 ` [PATCH v2 3/8] KVM/vmx: Pass through the lbr stack to a guest Wei Wang
2018-09-06 11:30 ` [PATCH v2 4/8] KVM/x86: expose MSR_IA32_PERF_CAPABILITIES to the guest Wei Wang
2018-09-06 11:30 ` [PATCH v2 5/8] KVM/x86: enable the guest to access the debugctl msr Wei Wang
2018-09-06 11:30 ` [PATCH v2 6/8] perf/x86/intel/lbr: guest requesting KVM for lbr stack save/restore Wei Wang
2018-09-07  3:27   ` Andi Kleen
2018-09-07  5:24     ` Wei Wang
2018-09-07 14:10       ` Andi Kleen
2018-09-07 15:20         ` Wang, Wei W
2018-09-07 20:05           ` Andi Kleen
2018-09-08  1:34             ` Wang, Wei W
2018-09-06 11:30 ` [PATCH v2 7/8] KVM: PMU: support to save/restore the guest lbr stack on vCPU switching Wei Wang
2018-09-07 14:36   ` Jann Horn
2018-09-07 15:21     ` Wang, Wei W
2018-09-18  0:58   ` Gonglei (Arei)
2018-09-18  2:56     ` Andi Kleen
2018-09-18  9:57       ` Wei Wang
2018-09-18 10:34         ` Gonglei (Arei)
2018-09-06 11:30 ` [PATCH v2 8/8] perf/x86/intel/lbr: add the guest_lbr boolean to cpuc Wei Wang

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.