Sean Christopherson <seanjc@xxxxxxxxxx> writes: > When updating paravirtual clocks, setup the Hyper-V TSC page before > Xen PV clocks. This will allow dropping xen_pvclock_tsc_unstable in favor > of simply clearing PVCLOCK_TSC_STABLE_BIT in the reference flags. > > Cc: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> > Signed-off-by: Sean Christopherson <seanjc@xxxxxxxxxx> > --- > arch/x86/kvm/x86.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c > index 9eabd70891dd..c68e7f7ba69d 100644 > --- a/arch/x86/kvm/x86.c > +++ b/arch/x86/kvm/x86.c > @@ -3280,6 +3280,8 @@ static int kvm_guest_time_update(struct kvm_vcpu *v) > hv_clock.flags &= ~PVCLOCK_GUEST_STOPPED; > } > > + kvm_hv_setup_tsc_page(v->kvm, &hv_clock); > + > #ifdef CONFIG_KVM_XEN > if (vcpu->xen.vcpu_info_cache.active) > kvm_setup_guest_pvclock(&hv_clock, v, &vcpu->xen.vcpu_info_cache, > @@ -3289,7 +3291,6 @@ static int kvm_guest_time_update(struct kvm_vcpu *v) > kvm_setup_guest_pvclock(&hv_clock, v, &vcpu->xen.vcpu_time_info_cache, 0, > xen_pvclock_tsc_unstable); > #endif > - kvm_hv_setup_tsc_page(v->kvm, &hv_clock); > return 0; > } "No functional change detected". Reviewed-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> (What I'm wondering is if (from mostly theoretical PoV) it's OK to pass *some* of the PV clocks as stable and some as unstable to the same guest, i.e. if it would make sense to disable Hyper-V TSC page when KVM_XEN_HVM_CONFIG_PVCLOCK_TSC_UNSTABLE too. I don't know if anyone combines Xen and Hyper-V emulation capabilities for the same guest on KVM though.) -- Vitaly