On 22/06/2017 04:06, Wanpeng Li wrote: > From: Wanpeng Li <wanpeng.li@xxxxxxxxxxx> > > Add an async_page_fault field to vcpu->arch.exception to identify an async > page fault, and constructs the expected vm-exit information fields. Force > a nested VM exit from nested_vmx_check_exception() if the injected #PF > is async page fault. Extending the userspace interface KVM_GET_VCPU_EVENTS > and KVM_SET_VCPU_EVENTS for live migration. I am not sure what would happen if new kernel (that can produce async_page_fault=1) runs on top of old userspace (that can consume it). I think it would be safer to make the new field "nested_apf", and only set it if in guest_mode, like vcpu->arch.exception.nested_apf = is_guest_mode(vcpu) && fault->async_page_fault; if (vcpu->arch.exception.nested_apf) vcpu->arch.apf.nested_apf_token = fault->address; else vcpu->arch.cr2 = fault->address; What do you think? Paolo