On 10/27/2010 06:50 PM, Gleb Natapov wrote: > On Wed, Oct 27, 2010 at 05:07:32PM +0800, Xiao Guangrong wrote: >> The current way is queued a complete async pf with: >> asyc_pf.page = bad_page >> async_pf.arch.gfn = 0 >> >> It has two problems while kvm_check_async_pf_completion handle this >> async_pf: >> - since !async_pf.page, it can retry a pseudo #PF > kvm_arch_async_page_ready checks for is_error_page() > >> - it can delete gfn 0 from vcpu->arch.apf.gfns[] > kvm_arch_async_page_present() checks for is_error_page() too and, > in case of PV guest, injects special token if it is true. > Ah, sorry for my stupid questions. > After your patch special token will not be injected and migration will > not work. > >> Actually, we can simply record this wakeup request and let >> kvm_check_async_pf_completion simply break the wait >> > May be wakeup_all function naming is misleading. It means wake up all PV > guest processes by sending broadcast async pf notification. It is not > about waking host vcpu thread. > I'm not good at the KVM PV way, i'll dig into it, please ignore this patch, thanks. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html