On Thu, Jul 07, 2016 at 11:42:15AM +0200, Peter Zijlstra wrote:
> +static void update_steal_time_preempt(struct kvm_vcpu *vcpu)
> +{
> +     struct kvm_steal_time *st;
> +
> +     if (!(vcpu->arch.st.msr_val & KVM_MSR_ENABLED))
> +             return;
> +
> +     if (unlikely(kvm_read_guest_cached(vcpu->kvm, &vcpu->arch.st.stime,
> +             &vcpu->arch.st.steal, sizeof(struct kvm_steal_time))))
> +             return;
> +
> +     st = &vcpu->arch.st.steal;
> +
> +     st->pad[KVM_ST_PAD_PREEMPT] = 1; /* we've stopped running */

So maybe have this be:

        ... = kvm_vcpu_running();

That avoids marking the vcpu preempted when we do hlt and such.

> +     kvm_write_guest_cached(vcpu->kvm, &vcpu->arch.st.stime,
> +             st, sizeof(struct kvm_steal_time));
> +}
_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Reply via email to