lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ecd28c71-6f3d-d5bb-cd39-ab80edc549ab@intel.com>
Date:   Thu, 30 Mar 2023 12:53:08 +0800
From:   "Yang, Weijiang" <weijiang.yang@...el.com>
To:     Vipin Sharma <vipinsh@...gle.com>
CC:     <jmattson@...gle.com>, <mizhang@...gle.com>, <kvm@...r.kernel.org>,
        <linux-kernel@...r.kernel.org>, <seanjc@...gle.com>,
        <pbonzini@...hat.com>, <bgardon@...gle.com>, <dmatlack@...gle.com>
Subject: Re: [Patch v4 08/18] KVM: x86/mmu: Track unused
 mmu_shadowed_info_cache pages count via global counter


On 3/7/2023 6:41 AM, Vipin Sharma wrote:
> Add unused pages in mmu_shadowed_info_cache to global MMU unused page
> cache counter i.e. kvm_total_unused_cached_pages. These pages will be
> freed by MMU shrinker in future commit.

This patch mainly renames some functions,  but the commit log doesn't 
reflect what

this patch does. Please change the commit log or squash the patch.


>
> Signed-off-by: Vipin Sharma <vipinsh@...gle.com>
> ---
>   arch/x86/include/asm/kvm_host.h | 3 ++-
>   arch/x86/kvm/mmu/mmu.c          | 8 ++++----
>   2 files changed, 6 insertions(+), 5 deletions(-)
>
> diff --git a/arch/x86/include/asm/kvm_host.h b/arch/x86/include/asm/kvm_host.h
> index 4322c7020d5d..185719dbeb81 100644
> --- a/arch/x86/include/asm/kvm_host.h
> +++ b/arch/x86/include/asm/kvm_host.h
> @@ -792,7 +792,8 @@ struct kvm_vcpu_arch {
>   	struct kvm_mmu_memory_cache mmu_page_header_cache;
>   
>   	/*
> -	 * Protect allocation and release of pages from mmu_shadow_page_cache.
> +	 * Protect allocation and release of pages from mmu_shadow_page_cache
> +	 * and mmu_shadowed_info_cache.
>   	 */
>   	struct mutex mmu_shadow_page_cache_lock;
>   
> diff --git a/arch/x86/kvm/mmu/mmu.c b/arch/x86/kvm/mmu/mmu.c
> index 0a0962d8108b..b7ca31b5699c 100644
> --- a/arch/x86/kvm/mmu/mmu.c
> +++ b/arch/x86/kvm/mmu/mmu.c
> @@ -715,8 +715,8 @@ static int mmu_topup_memory_caches(struct kvm_vcpu *vcpu, bool maybe_indirect)
>   		return r;
>   
>   	if (maybe_indirect) {
> -		r = kvm_mmu_topup_memory_cache(&vcpu->arch.mmu_shadowed_info_cache,
> -					       PT64_ROOT_MAX_LEVEL);
> +		r = mmu_topup_sp_memory_cache(&vcpu->arch.mmu_shadowed_info_cache,
> +					      PT64_ROOT_MAX_LEVEL);
>   		if (r)
>   			return r;
>   	}
> @@ -729,8 +729,8 @@ static void mmu_free_memory_caches(struct kvm_vcpu *vcpu)
>   	kvm_mmu_free_memory_cache(&vcpu->arch.mmu_pte_list_desc_cache);
>   	mutex_lock(&vcpu->arch.mmu_shadow_page_cache_lock);
>   	mmu_free_sp_memory_cache(&vcpu->arch.mmu_shadow_page_cache);
> +	mmu_free_sp_memory_cache(&vcpu->arch.mmu_shadowed_info_cache);
>   	mutex_unlock(&vcpu->arch.mmu_shadow_page_cache_lock);
> -	kvm_mmu_free_memory_cache(&vcpu->arch.mmu_shadowed_info_cache);
>   	kvm_mmu_free_memory_cache(&vcpu->arch.mmu_page_header_cache);
>   }
>   
> @@ -2197,7 +2197,7 @@ static struct kvm_mmu_page *kvm_mmu_alloc_shadow_page(struct kvm *kvm,
>   	sp = kvm_mmu_memory_cache_alloc(caches->page_header_cache);
>   	sp->spt = mmu_sp_memory_cache_alloc(caches->shadow_page_cache);
>   	if (!role.direct)
> -		sp->shadowed_translation = kvm_mmu_memory_cache_alloc(caches->shadowed_info_cache);
> +		sp->shadowed_translation = mmu_sp_memory_cache_alloc(caches->shadowed_info_cache);
>   
>   	set_page_private(virt_to_page(sp->spt), (unsigned long)sp);
>   

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ