Re: [PATCH 1/2] KVM: x86: implement KVM_SET_TSC_PRECISE/KVM_GET_TSC_PRECISE

From: Paolo Bonzini
Date: Mon Nov 30 2020 - 12:03:11 EST


On 30/11/20 16:58, Maxim Levitsky wrote:
This is mostly useful for userspace that doesn't disable the quirk, right?
Isn't this the opposite? If I understand the original proposal correctly,
the reason that we include the TSC_ADJUST in the new ioctl, is that
we would like to disable the special kvm behavior (that is disable the quirk),
which would mean that tsc will jump on regular host initiated TSC_ADJUST write.

To avoid this, userspace would set TSC_ADJUST through this new interface.

Yeah, that makes sense. It removes the need to think "I have to set TSC adjust before TSC".

Do you think that this is an issue? If so I can make the code work with
signed numbers.

Not sure if it's an issue, but I prefer to make the API "less surprising" for userspace. Who knows how it will be used.

About nsec == 0, this is to allow to use this API for VM initialization.
(That is to call KVM_SET_TSC_PRECISE prior to doing KVM_GET_TSC_PRECISE)

I prefer using flags for that purpose.

Paolo