[PATCH 0/3] KVM: Reduce TSC scaling race condition mess
From: David Woodhouse
Date: Fri Feb 25 2022 - 09:53:29 EST
As Sean says, we punt on a proper fix... but at least now I can create a
bunch of vCPUs with a scaled TSC and their TSC synchronization isn't
*utterly* hosed, so the test case I posted last night is actually passing.
It would still be nice for the original test case to work, where each
vCPU thread creates its own vCPU, then sets the scale and the current
TSC value. But this resolves most sane use cases.
David Woodhouse (2):
KVM: x86: Accept KVM_[GS]ET_TSC_KHZ as a VM ioctl.
KVM: x86: Test case for TSC scaling and offset sync
Sean Christopherson (1):
KVM: x86: Don't snapshot "max" TSC if host TSC is constant
Documentation/virt/kvm/api.rst | 11 +++--
arch/x86/include/asm/kvm_host.h | 2 +
arch/x86/kvm/x86.c | 54 ++++++++++++++++------
include/uapi/linux/kvm.h | 4 +-
tools/testing/selftests/kvm/Makefile | 1 +
tools/testing/selftests/kvm/x86_64/tsc_scaling_sync.c | 119 ++++++++++++++++++++++++++++++++++++++++++++++++
6 files changed, 171 insertions(+), 20 deletions(-)