Re: [PATCH v4 0/9] KVM: selftests: Test the consistency of the PMU's CPUID and its features

From: Jinrong Liang
Date: Wed Oct 11 2023 - 04:32:25 EST


Gentle ping.

Jinrong Liang <ljr.kernel@xxxxxxxxx> 于2023年9月11日周一 19:44写道:
>
> Hi,
>
> The KVM selftests show advantages over KUT in terms of finding defects through
> flexible and varied guest settings from the KVM user space.
>
> This patchset tests whether the Intel vPMU works properly with different Intel
> CPUID.0xA configurations. It also provides test scaffolding and a sufficient
> number of PMU test cases to subsequently offer adequate code coverage of AMD
> vPMU or Intel complex features, such as LBR or PEBS, in selftests.
>
> These patches have been tested and have passed all test cases. AMD related tests
> will be completed in the future, please consider merge these patches before that.
>
> Any feedback or suggestions are greatly appreciated.
>
> Sincerely,
> Jinrong Liang
>
> Changelog:
>
> v4:
> - Rebased to e2013f46ee2e(tag: kvm-x86-next-2023.08.25)
> - Separate AMD-related tests.
> - Moved static arrays to a new file lib/pmu.c and used more descriptive names
> like intel_pmu_arch_events, intel_pmu_fixed_pmc_events, and
> amd_pmu_arch_events. (Sean)
> - Clean up pmu_event_filter_test.c by including pmu.h and removing
> unnecessary macros.
> - Modified the "anti-feature" framework to extend this_pmu_has() and
> kvm_pmu_has() functions. (Sean)
> - Refactor guest_measure_loop() function to simplify logic and improve
> readability. (Sean)
> - Refactor guest_wr_and_rd_msrs() function to simplify logic and improve
> readability. (Sean)
> - Use GUEST_ASSERT_EQ() directly instead of passing the counter to ucall and
> back to the host. (Sean)
> - Refactor test_intel_oob_fixed_ctr() test method. (Sean)
> - Avoid using half-baked helpers and optimize the code structure. (Sean)
> - Update variable names for better readability and consistency. (Sean)
> - Rename functions to better reflect their purpose. (Sean)
>
> v3:
> https://lore.kernel.org/kvm/20230814115108.45741-1-cloudliang@xxxxxxxxxxx/T/
>
> Jinrong Liang (9):
> KVM: selftests: Add vcpu_set_cpuid_property() to set properties
> KVM: selftests: Extend this_pmu_has() and kvm_pmu_has() to check arch
> events
> KVM: selftests: Add pmu.h for PMU events and common masks
> 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: Test Intel supported fixed counters bit mask
> KVM: selftests: Test consistency of PMU MSRs with Intel PMU version
>
> tools/testing/selftests/kvm/Makefile | 2 +
> tools/testing/selftests/kvm/include/pmu.h | 96 ++++
> .../selftests/kvm/include/x86_64/processor.h | 42 +-
> tools/testing/selftests/kvm/lib/pmu.c | 38 ++
> .../selftests/kvm/lib/x86_64/processor.c | 14 +
> .../selftests/kvm/x86_64/pmu_counters_test.c | 431 ++++++++++++++++++
> .../kvm/x86_64/pmu_event_filter_test.c | 34 +-
> 7 files changed, 623 insertions(+), 34 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: e2013f46ee2e721567783557c301e5c91d0b74ff
> --
> 2.39.3
>