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

From: Paolo Bonzini
Date: Wed Aug 03 2022 - 13:18:33 EST


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().

Paolo