On 29/04/20 11:36, Vitaly Kuznetsov wrote:
> +     case MSR_KVM_ASYNC_PF_ACK:
> +             if (data & 0x1)
> +                     kvm_check_async_pf_completion(vcpu);
> +             break;

Does this work if interrupts are turned off?  I think in that case
kvm_check_async_pf_completion will refuse to make progress.  You need to
make this bit stateful (e.g. 1 = async PF in progress, 0 = not in
progress), and check that for page ready notifications instead of
EFLAGS.IF.  This probably means that;

- it might be simpler to move it to the vector MSR

- it's definitely much simpler to remove the #PF-based mechanism for
injecting page ready notifications.

Thanks,

Paolo

Reply via email to