summaryrefslogtreecommitdiff
path: root/arch/x86/include/asm/kvm-x86-pmu-ops.h
diff options
context:
space:
mode:
authorSean Christopherson <seanjc@google.com>2023-11-04 02:05:36 +0300
committerSean Christopherson <seanjc@google.com>2023-11-30 23:52:54 +0300
commitcbb359d81a2695bb5e63ec9de06fcbef28518891 (patch)
treebb62c8d182ef0b047648edeb48aea6279f1fe1b4 /arch/x86/include/asm/kvm-x86-pmu-ops.h
parente9e60c82fe391d04db55a91c733df4a017c28b2f (diff)
downloadlinux-cbb359d81a2695bb5e63ec9de06fcbef28518891.tar.xz
KVM: x86/pmu: Move PMU reset logic to common x86 code
Move the common (or at least "ignored") aspects of resetting the vPMU to common x86 code, along with the stop/release helpers that are no used only by the common pmu.c. There is no need to manually handle fixed counters as all_valid_pmc_idx tracks both fixed and general purpose counters, and resetting the vPMU is far from a hot path, i.e. the extra bit of overhead to the PMC from the index is a non-issue. Zero fixed_ctr_ctrl in common code even though it's Intel specific. Ensuring it's zero doesn't harm AMD/SVM in any way, and stopping the fixed counters via all_valid_pmc_idx, but not clearing the associated control bits, would be odd/confusing. Make the .reset() hook optional as SVM no longer needs vendor specific handling. Cc: stable@vger.kernel.org Reviewed-by: Dapeng Mi <dapeng1.mi@linux.intel.com> Link: https://lore.kernel.org/r/20231103230541.352265-2-seanjc@google.com Signed-off-by: Sean Christopherson <seanjc@google.com>
Diffstat (limited to 'arch/x86/include/asm/kvm-x86-pmu-ops.h')
-rw-r--r--arch/x86/include/asm/kvm-x86-pmu-ops.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/x86/include/asm/kvm-x86-pmu-ops.h b/arch/x86/include/asm/kvm-x86-pmu-ops.h
index 6c98f4bb4228..058bc636356a 100644
--- a/arch/x86/include/asm/kvm-x86-pmu-ops.h
+++ b/arch/x86/include/asm/kvm-x86-pmu-ops.h
@@ -22,7 +22,7 @@ KVM_X86_PMU_OP(get_msr)
KVM_X86_PMU_OP(set_msr)
KVM_X86_PMU_OP(refresh)
KVM_X86_PMU_OP(init)
-KVM_X86_PMU_OP(reset)
+KVM_X86_PMU_OP_OPTIONAL(reset)
KVM_X86_PMU_OP_OPTIONAL(deliver_pmi)
KVM_X86_PMU_OP_OPTIONAL(cleanup)