Message ID | 20210503150854.1144255-1-vkuznets@redhat.com (mailing list archive) |
---|---|
Headers | show |
Series | KVM: nVMX: Fix migration of nested guests when eVMCS is in use | expand |
On 03/05/21 17:08, Vitaly Kuznetsov wrote: > Win10 guests with WSL2 enabled sometimes crash on migration when > enlightened VMCS was used. The condition seems to be induced by the > situation when L2->L1 exit is caused immediately after migration and > before L2 gets a chance to run (e.g. when there's an interrupt pending). Interesting, I think it gets to nested_vmx_vmexit before if (kvm_check_request(KVM_REQ_GET_NESTED_STATE_PAGES, vcpu)) { if (unlikely(!kvm_x86_ops.nested_ops->get_nested_state_pages(vcpu))) { r = 0; goto out; } } due to the infamous calls to check_nested_events that are scattered through KVM? Paolo
Paolo Bonzini <pbonzini@redhat.com> writes: > On 03/05/21 17:08, Vitaly Kuznetsov wrote: >> Win10 guests with WSL2 enabled sometimes crash on migration when >> enlightened VMCS was used. The condition seems to be induced by the >> situation when L2->L1 exit is caused immediately after migration and >> before L2 gets a chance to run (e.g. when there's an interrupt pending). > > Interesting, I think it gets to nested_vmx_vmexit before > > if (kvm_check_request(KVM_REQ_GET_NESTED_STATE_PAGES, vcpu)) { > if (unlikely(!kvm_x86_ops.nested_ops->get_nested_state_pages(vcpu))) { > r = 0; > goto out; > } > } > > due to the infamous calls to check_nested_events that are scattered > through KVM? Yea, vcpu_run() -> kvm_vcpu_running() -> vmx_check_nested_events() if I remember it correctly.