kvm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/5] KVM: selftests: Fix clocksource requirements in tests
@ 2024-01-09 14:11 Vitaly Kuznetsov
  2024-01-09 14:11 ` [PATCH 1/5] KVM: selftests: Generalize check_clocksource() from kvm_clock_test Vitaly Kuznetsov
                   ` (6 more replies)
  0 siblings, 7 replies; 10+ messages in thread
From: Vitaly Kuznetsov @ 2024-01-09 14:11 UTC (permalink / raw)
  To: kvm, Paolo Bonzini, Sean Christopherson; +Cc: Oliver Upton, linux-kernel

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


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2024-02-01 17:00 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-01-09 14:11 [PATCH 0/5] KVM: selftests: Fix clocksource requirements in tests Vitaly Kuznetsov
2024-01-09 14:11 ` [PATCH 1/5] KVM: selftests: Generalize check_clocksource() from kvm_clock_test Vitaly Kuznetsov
2024-01-30 23:24   ` Sean Christopherson
2024-01-09 14:11 ` [PATCH 2/5] KVM: selftests: Use generic sys_clocksource_is_tsc() in vmx_nested_tsc_scaling_test Vitaly Kuznetsov
2024-01-09 14:11 ` [PATCH 3/5] KVM: selftests: Run clocksource dependent tests with hyperv_clocksource_tsc_page too Vitaly Kuznetsov
2024-01-09 14:11 ` [PATCH 4/5] KVM: selftests: Make hyperv_clock require TSC based system clocksource Vitaly Kuznetsov
2024-01-09 14:11 ` [PATCH 5/5] KVM: x86: Make gtod_is_based_on_tsc() return 'bool' Vitaly Kuznetsov
2024-01-29  9:03 ` [PATCH 0/5] KVM: selftests: Fix clocksource requirements in tests Vitaly Kuznetsov
2024-01-31  0:59 ` Sean Christopherson
2024-02-01 17:00   ` Sean Christopherson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).