[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250111005049.1247555-1-seanjc@google.com>
Date: Fri, 10 Jan 2025 16:50:40 -0800
From: Sean Christopherson <seanjc@...gle.com>
To: Marc Zyngier <maz@...nel.org>, Oliver Upton <oliver.upton@...ux.dev>,
Anup Patel <anup@...infault.org>, Paul Walmsley <paul.walmsley@...ive.com>,
Palmer Dabbelt <palmer@...belt.com>, Albert Ou <aou@...s.berkeley.edu>,
Christian Borntraeger <borntraeger@...ux.ibm.com>, Janosch Frank <frankja@...ux.ibm.com>,
Claudio Imbrenda <imbrenda@...ux.ibm.com>, Sean Christopherson <seanjc@...gle.com>,
Paolo Bonzini <pbonzini@...hat.com>
Cc: linux-arm-kernel@...ts.infradead.org, kvmarm@...ts.linux.dev,
kvm@...r.kernel.org, kvm-riscv@...ts.infradead.org,
linux-riscv@...ts.infradead.org, linux-kernel@...r.kernel.org
Subject: [PATCH v2 0/9] KVM: selftests: Binary stats fixes and infra updates
Fix a handful of bugs in the binary stats infrastructure, expand support
to vCPU-scoped stats, enumerate all KVM stats in selftests, and use the
enumerated stats to assert at compile-time that {vm,vcpu}_get_stat() is
getting a stat that actually exists.
Most of the bugs are benign, and AFAICT, none actually cause problems in
the current code base. The worst of the bugs is lack of validation that
the requested stat actually exists, which is quite annoying if someone
fat fingers a stat name, tries to get a vCPU stat on a VM FD, etc.
As called out multiple times in v1, I'm on the fence regarding the last
patch (compile-time assertions). My plan is to apply everything except the
last patch fairly quickly, so that the vCPU stats stuff in particular can be
used in x86 tests, and hold off on the compile-time assertion goo until
someone comes along with a strong opinion one way or the other.
v2:
- Update rlimit number of files for all "standard" VMs.
- Account for the vCPU stats fd when updating rlimits.
v1: https://lore.kernel.org/all/20241220013906.3518334-1-seanjc@google.com
Sean Christopherson (9):
KVM: selftests: Fix mostly theoretical leak of VM's binary stats FD
KVM: selftests: Close VM's binary stats FD when releasing VM
KVM: selftests: Assert that __vm_get_stat() actually finds a stat
KVM: selftests: Macrofy vm_get_stat() to auto-generate stat name
string
KVM: selftests: Add struct and helpers to wrap binary stats cache
KVM: selftests: Get VM's binary stats FD when opening VM
KVM: selftests: Adjust number of files rlimit for all "standard" VMs
KVM: selftests: Add infrastructure for getting vCPU binary stats
KVM: selftests: Add compile-time assertions to guard against stats
typos
.../kvm/include/arm64/kvm_util_arch.h | 12 ++
.../testing/selftests/kvm/include/kvm_util.h | 51 ++++++--
.../selftests/kvm/include/kvm_util_types.h | 6 +
.../kvm/include/riscv/kvm_util_arch.h | 14 +++
.../kvm/include/s390/kvm_util_arch.h | 113 +++++++++++++++++
.../selftests/kvm/include/x86/kvm_util_arch.h | 52 ++++++++
.../selftests/kvm/kvm_create_max_vcpus.c | 28 +----
tools/testing/selftests/kvm/lib/kvm_util.c | 114 ++++++++++++------
.../kvm/x86/dirty_log_page_splitting_test.c | 6 +-
.../selftests/kvm/x86/nx_huge_pages_test.c | 4 +-
.../selftests/kvm/x86/xapic_ipi_test.c | 2 +
11 files changed, 324 insertions(+), 78 deletions(-)
base-commit: 10b2c8a67c4b8ec15f9d07d177f63b563418e948
--
2.47.1.613.gc27f4b7a9f-goog
Powered by blists - more mailing lists