[PATCH v5 00/13] KVM: x86/pmu: selftests: Fixes and new tests

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is effectively v5 of Jinrong's series to add more PMU selftests, with
a focus on architectural events, fixed counters, and CPUID configurations.
I reworked things quite a bit, but the core concepts and what's being tested
are more or less unchanged.

The first three patches are minor fixes for KVM's handling of fixed
counters.  Patch 3 deals with an area in the PMU architecture that is
somewhat open to interpretation, i.e. could probably use a bit of dicsussion
to make sure we're all on the same page.

Jinrong and/or Like, please double check and rerun everything, my confidence
level with PMU stuff is still quite low relative to the rest of KVM.

v4: https://lore.kernel.org/all/20230911114347.85882-1-cloudliang@xxxxxxxxxxx
v3: https://lore.kernel.org/kvm/20230814115108.45741-1-cloudliang@xxxxxxxxxxx

Jinrong Liang (7):
  KVM: selftests: Add vcpu_set_cpuid_property() to set properties
  KVM: selftests: Add pmu.h and lib/pmu.c for common PMU assets
  KVM: selftests: Test Intel PMU architectural events on gp counters
  KVM: selftests: Test Intel PMU architectural events on fixed counters
  KVM: selftests: Test consistency of CPUID with num of gp counters
  KVM: selftests: Test consistency of CPUID with num of fixed counters
  KVM: selftests: Add functional test for Intel's fixed PMU counters

Sean Christopherson (6):
  KVM: x86/pmu: Don't allow exposing unsupported architectural events
  KVM: x86/pmu: Don't enumerate support for fixed counters KVM can't
    virtualize
  KVM: x86/pmu: Always treat Fixed counters as available when supported
  KVM: selftests: Drop the "name" param from KVM_X86_PMU_FEATURE()
  KVM: selftests: Extend {kvm,this}_pmu_has() to support fixed counters
  KVM: selftests: Extend PMU counters test to permute on vPMU version

 arch/x86/kvm/pmu.h                            |   4 +
 arch/x86/kvm/vmx/pmu_intel.c                  |  48 +-
 tools/testing/selftests/kvm/Makefile          |   2 +
 tools/testing/selftests/kvm/include/pmu.h     |  84 ++++
 .../selftests/kvm/include/x86_64/processor.h  |  67 ++-
 tools/testing/selftests/kvm/lib/pmu.c         |  28 ++
 .../selftests/kvm/lib/x86_64/processor.c      |  12 +-
 .../selftests/kvm/x86_64/pmu_counters_test.c  | 438 ++++++++++++++++++
 .../kvm/x86_64/pmu_event_filter_test.c        |  32 +-
 .../smaller_maxphyaddr_emulation_test.c       |   2 +-
 10 files changed, 669 insertions(+), 48 deletions(-)
 create mode 100644 tools/testing/selftests/kvm/include/pmu.h
 create mode 100644 tools/testing/selftests/kvm/lib/pmu.c
 create mode 100644 tools/testing/selftests/kvm/x86_64/pmu_counters_test.c


base-commit: c076acf10c78c0d7e1aa50670e9cc4c91e8d59b4
-- 
2.42.0.758.gaed0368e0e-goog




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux