[PATCH 0/5] KVM: selftests: Fix clocksource requirements in tests

Vitaly Kuznetsov
2024-01-09T14:11:27Z

It was discovered that 'hyperv_clock' fails miserably when the system is
using an unsupported (by KVM) clocksource, e.g. 'kvm-clock'. The root cause
of the failure is that 'hyperv_clock' doesn't actually check which clocksource
is currently in use. Other tests (kvm_clock_test, vmx_nested_tsc_scaling_test)
have the required check but each test does it on its own.

Generalize clocksource checking infrastructure, make all three clocksource
dependent tests run with 'tsc' and 'hyperv_clocksource_tsc_page', and skip
gracefully when run in an unsupported configuration.

The last patch of the series is a loosely related minor nitpick for KVM
code itself.

Vitaly Kuznetsov (5):
KVM: selftests: Generalize check_clocksource() from kvm_clock_test
KVM: selftests: Use generic sys_clocksource_is_tsc() in
vmx_nested_tsc_scaling_test
KVM: selftests: Run clocksource dependent tests with
hyperv_clocksource_tsc_page too
KVM: selftests: Make hyperv_clock require TSC based system clocksource
KVM: x86: Make gtod_is_based_on_tsc() return 'bool'

arch/x86/kvm/x86.c | 2 +-
.../testing/selftests/kvm/include/test_util.h | 2 +
.../selftests/kvm/include/x86_64/processor.h | 2 +
tools/testing/selftests/kvm/lib/test_util.c | 25 ++++++++++++
.../selftests/kvm/lib/x86_64/processor.c | 15 ++++++++
.../selftests/kvm/x86_64/hyperv_clock.c | 1 +
.../selftests/kvm/x86_64/kvm_clock_test.c | 38 +------------------
.../kvm/x86_64/vmx_nested_tsc_scaling_test.c | 19 +---------
8 files changed, 48 insertions(+), 56 deletions(-)

base-commit: 7f26fea9bc085290e3731501f4f8fc5b82b9d615
--
2.43.0