Re: [PATCH 6/8] KVM: simply wakup async pf

From: Xiao Guangrong
Date: Thu Oct 28 2010 - 03:55:26 EST


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 linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/