On Mon, 2020-11-30 at 15:15 +0100, Paolo Bonzini wrote: > On 30/11/20 15:11, Maxim Levitsky wrote: > > On Mon, 2020-11-30 at 14:54 +0100, Paolo Bonzini wrote: > > > On 30/11/20 14:35, Maxim Levitsky wrote: > > > > This quirk reflects the fact that we currently treat MSR_IA32_TSC > > > > and MSR_TSC_ADJUST access by the host (e.g qemu) in a way that is different > > > > compared to an access from the guest. > > > > > > > > For host's MSR_IA32_TSC read we currently always return L1 TSC value, and for > > > > host's write we do the tsc synchronization. > > > > > > > > For host's MSR_TSC_ADJUST write, we don't make the tsc 'jump' as we should > > > > for this msr. > > > > > > > > When the hypervisor uses the new TSC GET/SET state ioctls, all of this is no > > > > longer needed, thus leave this enabled only with a quirk > > > > which the hypervisor can disable. > > > > > > > > Suggested-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> > > > > Signed-off-by: Maxim Levitsky <mlevitsk@xxxxxxxxxx> > > > > > > This needs to be covered by a variant of the existing selftests testcase > > > (running the same guest code, but different host code of course). > > Do you think that the test should go to the kernel's kvm unit tests, > > or to kvm-unit-tests project? > > The latter already has x86_64/tsc_msrs_test.c (which I created in > preparation for this exact change :)). I'll prepare a test then for it! Best regards, Maxim Levitsky > > Paolo >