All of lore.kernel.org
 help / color / mirror / Atom feed
From: Marc Zyngier <maz@kernel.org>
To: Vincent Donnefort <vdonnefort@google.com>
Cc: oliver.upton@linux.dev, joey.gouly@arm.com,
	suzuki.poulose@arm.com, yuzenghui@huawei.com,
	catalin.marinas@arm.com, will@kernel.org, qperret@google.com,
	linux-arm-kernel@lists.infradead.org, kvmarm@lists.linux.dev,
	linux-kernel@vger.kernel.org, kernel-team@android.com
Subject: Re: [PATCH v3 2/3] KVM: arm64: Distinct pKVM teardown memcache for stage-2
Date: Thu, 13 Mar 2025 09:31:42 +0000	[thread overview]
Message-ID: <86ldt9nuo1.wl-maz@kernel.org> (raw)
In-Reply-To: <Z9KhybW0J2WIX1eU@google.com>

On Thu, 13 Mar 2025 09:13:45 +0000,
Vincent Donnefort <vdonnefort@google.com> wrote:
> 
> On Wed, Mar 12, 2025 at 08:59:15AM +0000, Marc Zyngier wrote:
> > On Fri, 07 Mar 2025 11:34:10 +0000,
> > Vincent Donnefort <vdonnefort@google.com> wrote:
> > > 
> > > In order to account for memory dedicated to the stage-2 page-tables, use
> > > a separated memcache when tearing down the VM.
> > > 
> > > Signed-off-by: Vincent Donnefort <vdonnefort@google.com>
> > > 
> > > diff --git a/arch/arm64/include/asm/kvm_host.h b/arch/arm64/include/asm/kvm_host.h
> > > index 12691ae23d4c..ace3969e8106 100644
> > > --- a/arch/arm64/include/asm/kvm_host.h
> > > +++ b/arch/arm64/include/asm/kvm_host.h
> > > @@ -246,6 +246,7 @@ typedef unsigned int pkvm_handle_t;
> > >  struct kvm_protected_vm {
> > >  	pkvm_handle_t handle;
> > >  	struct kvm_hyp_memcache teardown_mc;
> > > +	struct kvm_hyp_memcache stage2_teardown_mc;
> > >  	bool enabled;
> > >  };
> > >  
> > > diff --git a/arch/arm64/kvm/hyp/nvhe/pkvm.c b/arch/arm64/kvm/hyp/nvhe/pkvm.c
> > > index 3927fe52a3dd..15f8d5315959 100644
> > > --- a/arch/arm64/kvm/hyp/nvhe/pkvm.c
> > > +++ b/arch/arm64/kvm/hyp/nvhe/pkvm.c
> > > @@ -678,7 +678,7 @@ teardown_donated_memory(struct kvm_hyp_memcache *mc, void *addr, size_t size)
> > >  
> > >  int __pkvm_teardown_vm(pkvm_handle_t handle)
> > >  {
> > > -	struct kvm_hyp_memcache *mc;
> > > +	struct kvm_hyp_memcache *mc, *stage2_mc;
> > >  	struct pkvm_hyp_vm *hyp_vm;
> > >  	struct kvm *host_kvm;
> > >  	unsigned int idx;
> > > @@ -706,7 +706,8 @@ int __pkvm_teardown_vm(pkvm_handle_t handle)
> > >  
> > >  	/* Reclaim guest pages (including page-table pages) */
> > >  	mc = &host_kvm->arch.pkvm.teardown_mc;
> > > -	reclaim_guest_pages(hyp_vm, mc);
> > > +	stage2_mc = &host_kvm->arch.pkvm.stage2_teardown_mc;
> > > +	reclaim_guest_pages(hyp_vm, stage2_mc);
> > 
> > This looks odd. What counts as stage-2 pages here? Or is it that
> > reclaim_guest_pages() is very badly named?
> 
> Yes, this is a naming issue here. How about 
> 
>   reclaim_pgtable_pages(hyp_vm, stage2_mc);

LGTM.

> 
> Then I can probably drop that /* Push the metadata pages to the teardown
> memcache */  comment as it is clear what is pgtable and what is meta-data?

Yeah, the comments are actively getting in the way.

Thanks,

	M.

-- 
Without deviation from the norm, progress is not possible.

  reply	other threads:[~2025-03-13  9:31 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-03-07 11:34 [PATCH v3 0/3] Count pKVM stage-2 usage in secondary pagetable stat Vincent Donnefort
2025-03-07 11:34 ` [PATCH v3 1/3] KVM: arm64: Add flags to kvm_hyp_memcache Vincent Donnefort
2025-03-12  8:38   ` Marc Zyngier
2025-03-13  9:16     ` Vincent Donnefort
2025-03-07 11:34 ` [PATCH v3 2/3] KVM: arm64: Distinct pKVM teardown memcache for stage-2 Vincent Donnefort
2025-03-12  8:59   ` Marc Zyngier
2025-03-13  9:13     ` Vincent Donnefort
2025-03-13  9:31       ` Marc Zyngier [this message]
2025-03-07 11:34 ` [PATCH v3 3/3] KVM: arm64: Count pKVM stage-2 usage in secondary pagetable stats Vincent Donnefort

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=86ldt9nuo1.wl-maz@kernel.org \
    --to=maz@kernel.org \
    --cc=catalin.marinas@arm.com \
    --cc=joey.gouly@arm.com \
    --cc=kernel-team@android.com \
    --cc=kvmarm@lists.linux.dev \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=oliver.upton@linux.dev \
    --cc=qperret@google.com \
    --cc=suzuki.poulose@arm.com \
    --cc=vdonnefort@google.com \
    --cc=will@kernel.org \
    --cc=yuzenghui@huawei.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.