Re: [PATCH v4 3/6] KVM: MMU: introduce kvm_clear_all_lpage_info

From: Xiao Guangrong
Date: Fri May 03 2013 - 01:58:09 EST


On 05/03/2013 10:15 AM, Takuya Yoshikawa wrote:
> On Sat, 27 Apr 2013 11:13:19 +0800
> Xiao Guangrong <xiaoguangrong@xxxxxxxxxxxxxxxxxx> wrote:
>
>> This function is used to reset the large page info of all guest pages
>> which will be used in later patch
>>
>> Signed-off-by: Xiao Guangrong <xiaoguangrong@xxxxxxxxxxxxxxxxxx>
>> ---
>> arch/x86/kvm/x86.c | 25 +++++++++++++++++++++++++
>> arch/x86/kvm/x86.h | 2 ++
>> 2 files changed, 27 insertions(+), 0 deletions(-)
>>
>> diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
>> index 52b4e97..8e4494c 100644
>> --- a/arch/x86/kvm/x86.c
>> +++ b/arch/x86/kvm/x86.c
>> @@ -6951,6 +6951,31 @@ static void memslot_set_lpage_disallowed(struct kvm_memory_slot *slot,
>> }
>> }
>>
>> +static void clear_memslot_lpage_info(struct kvm_memory_slot *slot)
>> +{
>> + int i;
>> +
>> + for (i = 1; i < KVM_NR_PAGE_SIZES; ++i) {
>> + int lpages;
>> + int level = i + 1;
>> +
>> + lpages = gfn_to_index(slot->base_gfn + slot->npages - 1,
>> + slot->base_gfn, level) + 1;
>> +
>> + memset(slot->arch.lpage_info[i - 1], 0,
>> + sizeof(*slot->arch.lpage_info[i - 1]));
>> + memslot_set_lpage_disallowed(slot, slot->npages, i, lpages);
>
> This does something other than clearing.

Aha, this API *clears* the count set by kvm mmu. It is meaningful enough,
i think.



--
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/