Re: [PATCH 1/3] KVM: MMU: release noslot pfn on the fail path properly
From: Xiao Guangrong
Date: Mon Sep 10 2012 - 04:37:46 EST
On 09/10/2012 04:22 PM, Avi Kivity wrote:
> On 09/07/2012 09:13 AM, Xiao Guangrong wrote:
>> We can not directly call kvm_release_pfn_clean to release the pfn
>> since we can meet noslot pfn which is used to cache mmio info into
>> Introduce mmu_release_pfn_clean to do this kind of thing
>> Signed-off-by: Xiao Guangrong <xiaoguangrong@xxxxxxxxxxxxxxxxxx>
>> arch/x86/kvm/mmu.c | 19 ++++++++++++++-----
>> arch/x86/kvm/paging_tmpl.h | 4 ++--
>> 2 files changed, 16 insertions(+), 7 deletions(-)
>> diff --git a/arch/x86/kvm/mmu.c b/arch/x86/kvm/mmu.c
>> index 399c177..3c10bca 100644
>> --- a/arch/x86/kvm/mmu.c
>> +++ b/arch/x86/kvm/mmu.c
>> @@ -2432,6 +2432,16 @@ done:
>> return ret;
>> + * The primary user is page fault path which call it to properly
>> + * release noslot_pfn.
>> + */
>> +static void mmu_release_pfn_clean(pfn_t pfn)
>> + if (!is_error_pfn(pfn))
>> + kvm_release_pfn_clean(pfn);
> Too many APIs, each slightly different. How do I know which one to call?
It is only used in mmu and it is a static function.
> Please change kvm_release_pfn_*() instead, calling some arch hook (or
> even #ifdef CONFIG_KVM_HAS_FAST_MMIO) to check for the special case.
We only need to call it on page fault path. If we change the common API
other x86 components have to suffer from it.
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/