lkml.org 
[lkml]   [2013]   [May]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v4 3/6] KVM: MMU: introduce kvm_clear_all_lpage_info
On 05/03/2013 10:15 AM, Takuya Yoshikawa wrote:
> On Sat, 27 Apr 2013 11:13:19 +0800
> Xiao Guangrong <xiaoguangrong@linux.vnet.ibm.com> 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@linux.vnet.ibm.com>
>> ---
>> 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.





\
 
 \ /
  Last update: 2013-05-03 08:41    [W:0.126 / U:0.140 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site