[PATCH v6 00/44] KVM: x86: Add support for mediated vPMUs

Manali Shukla manali.shukla at amd.com
Thu Dec 18 01:19:34 PST 2025


On 12/8/2025 9:07 PM, Peter Zijlstra wrote:
> On Fri, Dec 05, 2025 at 04:16:36PM -0800, Sean Christopherson wrote:
>> My hope/plan is that the perf changes will go through the tip tree with a
>> stable tag/branch, and the KVM changes will go the kvm-x86 tree.
> 
>> Kan Liang (7):
>>   perf: Skip pmu_ctx based on event_type
>>   perf: Add generic exclude_guest support
>>   perf: Add APIs to create/release mediated guest vPMUs
>>   perf: Clean up perf ctx time
>>   perf: Add a EVENT_GUEST flag
>>   perf: Add APIs to load/put guest mediated PMU context
>>   perf/x86/intel: Support PERF_PMU_CAP_MEDIATED_VPMU
>>
>> Mingwei Zhang (3):
>>   perf/x86/core: Plumb mediated PMU capability from x86_pmu to
>>     x86_pmu_cap
>>
>> Sandipan Das (3):
>>   perf/x86/core: Do not set bit width for unavailable counters
>>   perf/x86/amd: Support PERF_PMU_CAP_MEDIATED_VPMU for AMD host
>>
>> Sean Christopherson (19):
>>   perf: Move security_perf_event_free() call to __free_event()
>>   perf/x86/core: Register a new vector for handling mediated guest PMIs
>>   perf/x86/core: Add APIs to switch to/from mediated PMI vector (for
>>     KVM)
> 
> That all looks to be in decent shape; lets go get this merged. There is
> the nit on patch 4 and I think a number of the exports want to be
> EXPORT_SYMBOL_FOR_KVM() instead, but we can do that on top.
> 
> I'll queue these patches after rc1.

I have tested this series on AMD EPYC 9745 (Turin, 128-Core Processor)
with 12 hours of perf_fuzzer runs across multiple configurations. No new
failures were observed.

Test Platform:
--------------
Hardware: AMD EPYC 9745 128-Core Processor (Turin)
Test Duration: 12 hours of perf_fuzzer per configuration

Configuration 1: enable_mediated_pmu=Y
---------------------------------------
SVM guests:
  -cpu host
  -cpu host,-perfmon-v2
  -cpu host,-perfctr-core

SEV-ES guest:
  -cpu host

SEV-SNP guest:
  -cpu host

Configuration 2: enable_mediated_pmu=N
---------------------------------------
SVM guest:
  -cpu EPYC-Genoa-v2,+pmu
  -cpu EPYC-Genoa-v2,+pmu,-perfmon-v2
  -cpu EPYC-Genoa-v2,+pmu,-perfctr-core

SEV-ES guest:
  -cpu EPYC-Genoa-v2,+pmu

SEV-SNP guest:
  -cpu EPYC-Genoa-v2,+pmu

KVM Unit Tests (KUT):
---------------------
Tested all combinations of:
  - enable_mediated_pmu={0,1}
  - force_emulation_prefix={0,1}

CPU configurations tested:
  -cpu host
  -cpu host,-perfmon-v2
  -cpu host,-perfctr-core

All KUT tests passed as expected across all combinations.

Tested-by: Manali Shukla <manali.shukla at amd.com>

-Manali




More information about the kvm-riscv mailing list