Patch Series

Subject KVM: x86: Add support for mediated vPMUs
Author seanjc@google.com
Date 2025-12-06 00:16:37 +0000 UTC
Version 6
Cc acme@kernel.org anup@brainfault.org aou@eecs.berkeley.edu chenhuacai@kernel.org dapeng1.mi@linux.intel.com hpa@zytor.com jmattson@google.com kvm-riscv@lists.infradead.org kvm@vger.kernel.org kvmarm@lists.linux.dev linux-arm-kernel@lists.infradead.org linux-kernel@vger.kernel.org linux-perf-users@vger.kernel.org linux-riscv@lists.infradead.org loongarch@lists.linux.dev luto@kernel.org manali.shukla@amd.com maobibo@loongson.cn maz@kernel.org mingo@redhat.com mizhang@google.com namhyung@kernel.org oupton@kernel.org palmer@dabbelt.com pbonzini@redhat.com peterz@infradead.org pjw@kernel.org sandipan.das@amd.com seanjc@google.com xin@zytor.com xiong.y.zhang@linux.intel.com xudong.hao@intel.com zhaotianrui@loongson.cn

Patches (44)

Name Content [All]
[PATCH v6 01/44] perf: Skip pmu_ctx based on event_type [Body]
[PATCH v6 02/44] perf: Add generic exclude_guest support [Body]
[PATCH v6 03/44] perf: Move security_perf_event_free() call to __free_event() [Body]
[PATCH v6 04/44] perf: Add APIs to create/release mediated guest vPMUs [Body]
[PATCH v6 05/44] perf: Clean up perf ctx time [Body]
[PATCH v6 06/44] perf: Add a EVENT_GUEST flag [Body]
[PATCH v6 07/44] perf: Add APIs to load/put guest mediated PMU context [Body]
[PATCH v6 08/44] perf/x86/core: Register a new vector for handling mediated guest PMIs [Body]
[PATCH v6 09/44] perf/x86/core: Add APIs to switch to/from mediated PMI vector (for KVM) [Body]
[PATCH v6 10/44] perf/x86/core: Do not set bit width for unavailable counters [Body]
[PATCH v6 11/44] perf/x86/core: Plumb mediated PMU capability from x86_pmu to x86_pmu_cap [Body]
[PATCH v6 12/44] perf/x86/intel: Support PERF_PMU_CAP_MEDIATED_VPMU [Body]
[PATCH v6 13/44] perf/x86/amd: Support PERF_PMU_CAP_MEDIATED_VPMU for AMD host [Body]
[PATCH v6 14/44] KVM: Add a simplified wrapper for registering perf callbacks [Body]
[PATCH v6 15/44] KVM: x86/pmu: Snapshot host (i.e. perf's) reported PMU capabilities [Body]
[PATCH v6 16/44] KVM: x86/pmu: Start stubbing in mediated PMU support [Body]
[PATCH v6 17/44] KVM: x86/pmu: Implement Intel mediated PMU requirements and constraints [Body]
[PATCH v6 18/44] KVM: x86/pmu: Implement AMD mediated PMU requirements [Body]
[PATCH v6 19/44] KVM: x86/pmu: Register PMI handler for mediated vPMU [Body]
[PATCH v6 20/44] KVM: x86/pmu: Disable RDPMC interception for compatible mediated vPMU [Body]
[PATCH v6 21/44] KVM: x86/pmu: Load/save GLOBAL_CTRL via entry/exit fields for mediated PMU [Body]
[PATCH v6 22/44] KVM: x86/pmu: Disable interception of select PMU MSRs for mediated vPMUs [Body]
[PATCH v6 23/44] KVM: x86/pmu: Bypass perf checks when emulating mediated PMU counter accesses [Body]
[PATCH v6 24/44] KVM: x86/pmu: Introduce eventsel_hw to prepare for pmu event filtering [Body]
[PATCH v6 25/44] KVM: x86/pmu: Reprogram mediated PMU event selectors on event filter updates [Body]
[PATCH v6 26/44] KVM: x86/pmu: Always stuff GuestOnly=1,HostOnly=0 for mediated PMCs on AMD [Body]
[PATCH v6 27/44] KVM: x86/pmu: Load/put mediated PMU context when entering/exiting guest [Body]
[PATCH v6 28/44] KVM: x86/pmu: Disallow emulation in the fastpath if mediated PMCs are active [Body]
[PATCH v6 29/44] KVM: x86/pmu: Handle emulated instruction for mediated vPMU [Body]
[PATCH v6 30/44] KVM: nVMX: Add macros to simplify nested MSR interception setting [Body]
[PATCH v6 31/44] KVM: nVMX: Disable PMU MSR interception as appropriate while running L2 [Body]
[PATCH v6 32/44] KVM: nSVM: Disable PMU MSR interception as appropriate while running L2 [Body]
[PATCH v6 33/44] KVM: x86/pmu: Expose enable_mediated_pmu parameter to user space [Body]
[PATCH v6 34/44] KVM: x86/pmu: Elide WRMSRs when loading guest PMCs if values already match [Body]
[PATCH v6 35/44] KVM: VMX: Drop intermediate "guest" field from msr_autostore [Body]
[PATCH v6 36/44] KVM: nVMX: Don't update msr_autostore count when saving TSC for vmcs12 [Body]
[PATCH v6 37/44] KVM: VMX: Dedup code for removing MSR from VMCS's auto-load list [Body]
[PATCH v6 38/44] KVM: VMX: Drop unused @entry_only param from add_atomic_switch_msr() [Body]
[PATCH v6 39/44] KVM: VMX: Bug the VM if either MSR auto-load list is full [Body]
[PATCH v6 40/44] KVM: VMX: Set MSR index auto-load entry if and only if entry is "new" [Body]
[PATCH v6 41/44] KVM: VMX: Compartmentalize adding MSRs to host vs. guest auto-load list [Body]
[PATCH v6 42/44] KVM: VMX: Dedup code for adding MSR to VMCS's auto list [Body]
[PATCH v6 43/44] KVM: VMX: Initialize vmcs01.VM_EXIT_MSR_STORE_ADDR with list address [Body]
[PATCH v6 44/44] KVM: VMX: Add mediated PMU support for CPUs without "save perf global ctrl" [Body]

Session 2025-12-06

ID (for dev) 91132cfb-ca79-4395-92d7-6ed42962d596
Status finished
Triaged OK [Log]
Execution Log [Link]
Test Base Patched Verdict
[KASAN] Build Base e0c26d47def7382d7dbd9cad58bc653aed75737a [Config] passed [Log]
[KASAN] Boot test: Base e0c26d47def7382d7dbd9cad58bc653aed75737a [Config] passed [Log]
[KASAN] Build Patched e0c26d47def7382d7dbd9cad58bc653aed75737a [Config] [patched] passed [Log]
[KASAN] Boot test: Patched e0c26d47def7382d7dbd9cad58bc653aed75737a [Config] [patched] passed [Log]
[KASAN] Fuzzing e0c26d47def7382d7dbd9cad58bc653aed75737a [Config] e0c26d47def7382d7dbd9cad58bc653aed75737a [Config] [patched] passed [Log] [Artifacts]