Re: [PATCH RFC 6/6] KVM: x86: Switch KVM guest to using interrupts for page ready APF delivery
From: Vivek Goyal
Date: Tue May 05 2020 - 14:59:45 EST
On Wed, Apr 29, 2020 at 12:53:33PM +0200, Paolo Bonzini wrote:
> On 29/04/20 11:36, Vitaly Kuznetsov wrote:
> > +
> > + if (__this_cpu_read(apf_reason.enabled)) {
> > + reason = __this_cpu_read(apf_reason.reason);
> > + if (reason == KVM_PV_REASON_PAGE_READY) {
> > + token = __this_cpu_read(apf_reason.token);
> > + /*
> > + * Make sure we read 'token' before we reset
> > + * 'reason' or it can get lost.
> > + */
> > + mb();
> > + __this_cpu_write(apf_reason.reason, 0);
> > + kvm_async_pf_task_wake(token);
> > + }
>
> If tokens cannot be zero, could we avoid using reason for the page ready
> interrupt (and ultimately retire "reason" completely)?
If we are planning to report errors using this interface, then retaining
KVM_PV_REASON_PAGE_READY makes sense because we can then introduce another
state say KVM_PV_REASON_PAGE_ERROR.
Thanks
Vivek