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 <[email protected]> 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.
--
Vitaly