[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240307011344.835640-1-seanjc@google.com>
Date: Wed, 6 Mar 2024 17:13:41 -0800
From: Sean Christopherson <seanjc@...gle.com>
To: Peter Zijlstra <peterz@...radead.org>, Ingo Molnar <mingo@...hat.com>,
Arnaldo Carvalho de Melo <acme@...nel.org>, Namhyung Kim <namhyung@...nel.org>,
Sean Christopherson <seanjc@...gle.com>, Paolo Bonzini <pbonzini@...hat.com>
Cc: linux-perf-users@...r.kernel.org, linux-kernel@...r.kernel.org,
kvm@...r.kernel.org, Mingwei Zhang <mizhang@...gle.com>, Jim Mattson <jmattson@...gle.com>
Subject: [PATCH 0/3] KVM: VMX: Disable LBRs if CPU doesn't have callstacks
Disable LBR virtualization if the CPU (or I guess perf) doesn't support
LBR callstacks, as KVM unconditionally creates the associated perf LBR
event with PERF_SAMPLE_BRANCH_CALL_STACK. That results in perf rejecting
the event, and cause LBR virtualization to silently fail.
This was detected by running vmx_pmu_caps_test on older hardware. I didn't
tag it for stable because I can't imagine anyone is trying to use KVM's LBR
virtualization on pre-HSW.
Sean Christopherson (3):
KVM: VMX: Snapshot LBR capabilities during module initialization
perf/x86/intel: Expose existence of callback support to KVM
KVM: VMX: Disable LBR virtualization if the CPU doesn't support LBR
callstacks
arch/x86/events/intel/lbr.c | 1 +
arch/x86/include/asm/perf_event.h | 1 +
arch/x86/kvm/vmx/pmu_intel.c | 2 +-
arch/x86/kvm/vmx/vmx.c | 17 +++++++++++++----
arch/x86/kvm/vmx/vmx.h | 2 ++
5 files changed, 18 insertions(+), 5 deletions(-)
base-commit: 0c64952fec3ea01cb5b09f00134200f3e7ab40d5
--
2.44.0.278.ge034bb2e1d-goog
Powered by blists - more mailing lists