On Fri, Nov 10, 2017 at 01:49:47AM -0800, Wanpeng Li wrote: > @@ -2887,7 +2899,7 @@ static void kvm_steal_time_set_preempted(struct kvm_vcpu *vcpu) > if (!(vcpu->arch.st.msr_val & KVM_MSR_ENABLED)) > return; > > - vcpu->arch.st.steal.preempted = KVM_VCPU_PREEMPTED; > + vcpu->arch.st.steal.preempted |= KVM_VCPU_PREEMPTED; I don't understand this one... If there is concurrency its wrong, if there is no concurrency it still doesn't make sense as there should not be any FLUSH flags to preserve.. > > kvm_write_guest_offset_cached(vcpu->kvm, &vcpu->arch.st.stime, > &vcpu->arch.st.steal.preempted,