Re: [PATCH v6 3/4] KVM: async_pf: Force a nested vmexit if the injected #PF is async_pf

From: Wanpeng Li
Date: Wed Jun 28 2017 - 10:18:06 EST


2017-06-28 22:11 GMT+08:00 Paolo Bonzini <pbonzini@xxxxxxxxxx>:
>
>
> On 28/06/2017 16:09, Wanpeng Li wrote:
>>> Yes, this was my question essentially. I would still migrate
>>> nested_apf_token (as part of nested virt state), and then clear it in
>>> KVM when doing the async-pf broadcast.
>> Do you mean I should save nested_apf_token by GET_VCPU_EVENTS and
>> restore it by SET_VCPU_EVENTS? I utilize the place of "u8 pad" in
>> kvm_vcpu_events to hold nested_apf, however nested_apf_token is
>> unsigned long.
>
> If for now we can leave out the GET/SET_VCPU_EVENTS changes, that would
> be best. nested_apf and nested_apf_token should be migrated together
> with the rest of the nested virt state.

Radim explains why we at least needs nested_apf here:

> nested_apf is not #PF: if we didn't pass nested_apf, then the exception would be injected as #PF to L2 after migration.

Do you mean we can ignore it here and depends on Jim's patches to
completely handle it?

Regards,
Wanpeng Li