Re: [PATCH 1/5] KVM: x86: Get vmcs12 pages before checking pending interrupts

From: Mingwei Zhang
Date: Wed Aug 03 2022 - 13:51:42 EST


On Wed, Aug 3, 2022 at 10:18 AM Paolo Bonzini <pbonzini@xxxxxxxxxx> wrote:
>
> On 8/3/22 01:07, Mingwei Zhang wrote:
> > + /*
> > + * We must first get the vmcs12 pages before checking for interrupts
> > + * that might unblock the guest if L1 is using virtual-interrupt
> > + * delivery.
> > + */
> > + if (kvm_check_request(KVM_REQ_GET_NESTED_STATE_PAGES, vcpu)) {
> > + /*
> > + * If we have to ask user-space to post-copy a page,
> > + * then we have to keep trying to get all of the
> > + * VMCS12 pages until we succeed.
> > + */
> > + if (unlikely(!kvm_x86_ops.nested_ops->get_nested_state_pages(vcpu))) {
> > + kvm_make_request(KVM_REQ_GET_NESTED_STATE_PAGES, vcpu);
> > + return 0;
> > + }
> > + }
> > +
>
> I think request handling (except for KVM_REQ_EVENT) could be more
> generically moved from vcpu_enter_guest() to vcpu_run().

Yeah, sounds good to me. I can come up with an updated version. At
least, I will remove the repeat request here.

>
> Paolo
>