From: Sean Christopherson <seanjc@google.com>
To: Ackerley Tng <ackerleytng@google.com>
Cc: "Paolo Bonzini" <pbonzini@redhat.com>,
kvm@vger.kernel.org, linux-kernel@vger.kernel.org,
"Hyunwoo Kim" <imv4bel@gmail.com>,
"Tom Lendacky" <thomas.lendacky@amd.com>,
"Michael Roth" <michael.roth@amd.com>,
"Jörg Rödel" <joro@8bytes.org>, "Fuad Tabba" <tabba@google.com>
Subject: Re: [PATCH v3 10/12] KVM: SEV: Forcefully invalidate SNP VMSA if its backing gmem page is zapped
Date: Thu, 9 Jul 2026 06:47:45 -0700 [thread overview]
Message-ID: <ak-mgRaezT7gSJ1P@google.com> (raw)
In-Reply-To: <ak7rOdtcYyZ4zpN7@google.com>
On Wed, Jul 08, 2026, Sean Christopherson wrote:
> On Wed, Jul 08, 2026, Ackerley Tng wrote:
> > Sean Christopherson <seanjc@google.com> writes:
> >
> > >
> > > [...snip...]
> > >
> > > @@ -1902,6 +1905,7 @@ struct kvm_x86_ops {
> > > void *(*alloc_apic_backing_page)(struct kvm_vcpu *vcpu);
> > > int (*gmem_prepare)(struct kvm *kvm, kvm_pfn_t pfn, gfn_t gfn, int max_order);
> > > #ifdef CONFIG_HAVE_KVM_ARCH_GMEM_INVALIDATE
> > > + void (*gmem_invalidate_range)(struct kvm *kvm, struct kvm_gfn_range *range);
> > > void (*gmem_reclaim_memory)(kvm_pfn_t start, kvm_pfn_t end);
> > > #endif
> >
> > I suggested CONFIG_HAVE_KVM_ARCH_GMEM_RECLAIM_MEMORY before looking at
> > this patch.
> >
> > Considering this, it seems like gmem_invalidate_range is a true
> > invalidation request and .gmem_reclaim_memory is too late for
> > invalidation as you explained in the commit message of the renaming
> > patch.
> >
> > Perhaps the new .gmem_invalidate_range should take over
> > CONFIG_HAVE_KVM_ARCH_GMEM_INVALIDATE, and .gmem_reclaim_memory should
> > use a new CONFIG_HAVE_KVM_ARCH_GMEM_RECLAIM_MEMORY?
> >
> > Are they both invalidations in your opinion?
>
> No, definitely not, I just didn't want to add another Kconfig. And I still don't,
> but I agree that lumping .gmem_reclaim_memory() into GMEM_INVALIDATE doesn't work,
> because the behavior of sev_gmem_reclaim_memory() and sev_gmem_invalidate_range()
> are completely unrelated.
>
> > If we're clumping SNP configs together,
> > CONFIG_HAVE_KVM_ARCH_GMEM_PREPARE is also only enabled by SNP...
>
> Yeah, but while I don't like a Kconfig explosion, I don't really want to end up
> with CONFIG_HAVE_KVM_ARCH_GMEM_SNP_HOOKS either.
>
> Oh, wait, isn't CONFIG_HAVE_KVM_ARCH_GMEM_PREPARE going away? I was going to say
> we could bundle .prepare() and .reclaim() together, because conceptually they are
> two bookends for updating out-of-band metadata, but that doesn't make a whole lot
> of sense if .prepare() is going to disappear.
For consistency with .gmem_prepare(), what about going with .gmem_reclaim() instead
of .gmem_reclaim_memory()? E.g.
#ifdef CONFIG_HAVE_KVM_ARCH_GMEM_RECLAIM
static void kvm_gmem_free_folio(struct folio *folio)
{
struct page *page = folio_page(folio, 0);
kvm_pfn_t pfn = page_to_pfn(page);
int order = folio_order(folio);
kvm_arch_gmem_reclaim(pfn, pfn + (1ul << order));
}
#endif
next prev parent reply other threads:[~2026-07-09 13:47 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-06-30 22:25 [PATCH v3 00/12] KVM: SEV: Fix RMP #PF due to freeing in-use VMSA Sean Christopherson
2026-06-30 22:25 ` [PATCH v3 01/12] KVM: SEV: Track the GPA of the guest-controlled VMSA used for SNP guests Sean Christopherson
2026-07-01 19:33 ` Michael Roth
2026-06-30 22:25 ` [PATCH v3 02/12] KVM: SEV: Extract loading of guest-provided VMSA to a separate helper Sean Christopherson
2026-07-01 19:34 ` Michael Roth
2026-06-30 22:25 ` [PATCH v3 03/12] KVM: SEV: Mark vCPU RUNNABLE after AP_CREATE, even if VMSA is unusable Sean Christopherson
2026-07-01 19:36 ` Michael Roth
2026-06-30 22:25 ` [PATCH v3 04/12] KVM: Rename .gmem_invalidate() to .gmem_reclaim_memory() Sean Christopherson
2026-06-30 22:39 ` sashiko-bot
2026-07-01 19:41 ` Michael Roth
2026-07-08 22:40 ` Ackerley Tng
2026-06-30 22:26 ` [PATCH v3 05/12] KVM: x86: Serialize writes to disabled_quirks using kvm->lock Sean Christopherson
2026-07-01 21:59 ` Michael Roth
2026-06-30 22:26 ` [PATCH v3 06/12] KVM: x86: Ensure runtime reads of disabled_quirks are resolved once Sean Christopherson
2026-07-01 22:00 ` Michael Roth
2026-06-30 22:26 ` [PATCH v3 07/12] KVM: x86/mmu: Fold kvm_mmu_zap_memslot() into kvm_arch_flush_shadow_memslot() Sean Christopherson
2026-07-01 22:04 ` Michael Roth
2026-06-30 22:26 ` [PATCH v3 08/12] KVM: x86/mmu: Split kvm_mmu_zap_all_fast() into "front" and "back" halves Sean Christopherson
2026-07-01 22:07 ` Michael Roth
2026-06-30 22:26 ` [PATCH v3 09/12] KVM: x86/mmu: Use split "zap all fast" helpers when invalidating memslot Sean Christopherson
2026-07-01 22:19 ` Michael Roth
2026-06-30 22:26 ` [PATCH v3 10/12] KVM: SEV: Forcefully invalidate SNP VMSA if its backing gmem page is zapped Sean Christopherson
2026-07-01 21:56 ` Michael Roth
2026-07-07 15:58 ` Sean Christopherson
2026-07-08 22:53 ` Ackerley Tng
2026-07-09 0:28 ` Sean Christopherson
2026-07-09 13:47 ` Sean Christopherson [this message]
2026-07-09 16:10 ` Ackerley Tng
2026-06-30 22:26 ` [PATCH v3 11/12] KVM: x86: Guard .gmem_prepare() declarations with HAVE_KVM_GMEM_PREPARE=y Sean Christopherson
2026-07-01 22:42 ` Michael Roth
2026-07-06 23:16 ` Sean Christopherson
2026-07-08 22:46 ` Ackerley Tng
2026-06-30 22:26 ` [PATCH v3 12/12] KVM: SEV: Mark vCPU has having guest-provided VMSA even if its invalid Sean Christopherson
2026-07-01 22:47 ` Michael Roth
2026-07-07 16:58 ` [PATCH v3 00/12] KVM: SEV: Fix RMP #PF due to freeing in-use VMSA Tom Lendacky
2026-07-07 21:20 ` Sean Christopherson
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=ak-mgRaezT7gSJ1P@google.com \
--to=seanjc@google.com \
--cc=ackerleytng@google.com \
--cc=imv4bel@gmail.com \
--cc=joro@8bytes.org \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=michael.roth@amd.com \
--cc=pbonzini@redhat.com \
--cc=tabba@google.com \
--cc=thomas.lendacky@amd.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.