Re: [PATCH v2 9/9] KVM: mark requests that need synchronization

From: Paolo Bonzini
Date: Thu Apr 27 2017 - 08:36:26 EST




On 26/04/2017 22:32, Radim KrÄmÃÅ wrote:
> v2: replaces [v1 1/6]
> Ugh, KVM_ARCH_REQ_WAIT_NO_WAKEUP looks a weird ...

Yeah, let's drop patch 7 and just use bits for now. I think using
KVM_ARCH_REQ_FLAGS directly should be fine, especially after the default
is flipped from "no wakeup" to "wakeup", but for 4.12 this is the
simplest incremental step.

> +/* TODO: merge with kvm_arch_vcpu_should_kick */
> +static bool kvm_should_kick_request(struct kvm_vcpu *vcpu, unsigned req)

I'm renaming this to kvm_request_needs_ipi; the point of the IPI for
synchronous requests is not the "kick", but the "ack" that comes back.

Paolo

> +{
> + int mode = kvm_vcpu_exiting_guest_mode(vcpu);
> +
> + return req & KVM_REQUEST_WAIT ?
> + mode != OUTSIDE_GUEST_MODE : mode == IN_GUEST_MODE;
> +}
> +