mbox series

[0/7] KVM: selftests: Add tests for pmu event filter

Message ID 20230414110056.19665-1-cloudliang@tencent.com (mailing list archive)
Headers show
Series KVM: selftests: Add tests for pmu event filter | expand

Message

Jinrong Liang April 14, 2023, 11 a.m. UTC
From: Jinrong Liang <cloudliang@tencent.com>

Hi,

This patch set adds some tests to ensure consistent PMU performance event
filter behavior. Specifically, the patches aim to improve KVM's PMU event
filter by strengthening the test coverage, adding documentation, and making
other small changes. 

The first patch replaces int with uint32_t for nevents to ensure consistency
and readability in the code. The second patch adds fixed_counter_bitmap to
create_pmu_event_filter() to support the use of the same creator to control
the use of guest fixed counters. The third patch adds test cases for
unsupported input values in PMU filter, including unsupported "action"
values, unsupported "flags" values, and unsupported "nevents" values. Also,
it tests setting non-existent fixed counters in the fixed bitmap doesn't
fail.

The fourth patch updates the documentation for KVM_SET_PMU_EVENT_FILTER ioctl
to include a detailed description of how fixed performance events are handled
in the pmu filter. The fifth patch adds tests to cover that pmu_event_filter
works as expected when applied to fixed performance counters, even if there
is no fixed counter exists. The sixth patch adds a test to ensure that setting
both generic and fixed performance event filters does not affect the consistency
of the fixed performance filter behavior in KVM. The seventh patch adds a test
to verify the behavior of the pmu event filter when an incomplete
kvm_pmu_event_filter structure is used.

These changes help to ensure that KVM's PMU event filter functions as expected
in all supported use cases. These patches have been tested and verified to
function properly.

Thanks for your review and feedback.

Sincerely,

Jinrong Liang

Jinrong Liang (7):
  KVM: selftests: Replace int with uint32_t for nevents
  KVM: selftests: Apply create_pmu_event_filter() to fixed ctrs
  KVM: selftests: Test unavailable event filters are rejected
  KVM: x86/pmu: Add documentation for fixed ctr on PMU filter
  KVM: selftests: Check if pmu_event_filter meets expectations on fixed
    ctrs
  KVM: selftests: Check gp event filters without affecting fixed event
    filters
  KVM: selftests: Test pmu event filter with incompatible
    kvm_pmu_event_filter

 Documentation/virt/kvm/api.rst                |  21 ++
 .../kvm/x86_64/pmu_event_filter_test.c        | 239 ++++++++++++++++--
 2 files changed, 243 insertions(+), 17 deletions(-)


base-commit: a25497a280bbd7bbcc08c87ddb2b3909affc8402