Revision 384331a6

b/target-i386/kvm.c
817 817
    kvm_msr_entry_set(&msrs[n++], MSR_LSTAR, env->lstar);
818 818
#endif
819 819
    if (level == KVM_PUT_FULL_STATE) {
820
        kvm_msr_entry_set(&msrs[n++], MSR_IA32_TSC, env->tsc);
820
        /*
821
         * KVM is yet unable to synchronize TSC values of multiple VCPUs on
822
         * writeback. Until this is fixed, we only write the offset to SMP
823
         * guests after migration, desynchronizing the VCPUs, but avoiding
824
         * huge jump-backs that would occur without any writeback at all.
825
         */
826
        if (smp_cpus == 1 || env->tsc != 0) {
827
            kvm_msr_entry_set(&msrs[n++], MSR_IA32_TSC, env->tsc);
828
        }
821 829
        kvm_msr_entry_set(&msrs[n++], MSR_KVM_SYSTEM_TIME,
822 830
                          env->system_time_msr);
823 831
        kvm_msr_entry_set(&msrs[n++], MSR_KVM_WALL_CLOCK, env->wall_clock_msr);

Also available in: Unified diff