From: Sean Christopherson <seanjc@google.com>
To: Ackerley Tng <ackerleytng@google.com>
Cc: Xiaoyao Li <xiaoyao.li@intel.com>, Lisa Wang <wyihan@google.com>,
Binbin Wu <binbin.wu@linux.intel.com>,
Chao Gao <chao.gao@intel.com>,
Chenyi Qiang <chenyi.qiang@intel.com>,
Erdem Aktas <erdemaktas@google.com>,
Paolo Bonzini <pbonzini@redhat.com>,
"Pratik R. Sampat" <pratikrajesh.sampat@amd.com>,
Rick Edgecombe <rick.p.edgecombe@intel.com>,
Roger Wang <runanwang@google.com>,
Ryan Afranji <afranji@google.com>,
Sagi Shahar <sagis@google.com>,
kvm@vger.kernel.org, linux-kernel@vger.kernel.org,
Ashish Kalra <ashish.kalra@amd.com>,
Tom Lendacky <thomas.lendacky@amd.com>,
Michael Roth <michael.roth@amd.com>
Subject: Re: [PATCH v14 13/22] KVM: selftests: Support guest_memfd in-place conversion
Date: Mon, 12 Oct 2026 13:13:51 -0700 [thread overview]
Message-ID: <as0_f5dTbCWuODwQ@google.com> (raw)
In-Reply-To: <CAEvNRgG3h5jgHOpHvJ_uuJv8o-mq0Jy9gXUhKcDZXfSGAfZBiA@mail.gmail.com>
On Mon, Oct 12, 2026, Ackerley Tng wrote:
> Sean Christopherson <seanjc@google.com> writes:
> > The alternative would be to take sev_cmd_mutex around the kvm_gmem_populate() call
> > in snp_launch_update(), but even if the CPP maintainers were willing to provide hooks
>
> I realized you meant CCP/PSP instead of CPP :)
>
> > to allow that, I'm not willing to take such a hack in KVM.
> >
>
> Is this a hack because sev_cmd_mutex() would be held for a long time
> while the populate loop executes?
It would also bleed CCP internals into KVM, and in general doesn't pass a basic
"is this the right thing to do" test.
> > So, very sadly, I think in-place conversion is dead for 7.4, and will need to be
> > revived on top of an overhaul of sev_cmd_mutex locking.
> >
> > Or I guess maybe a less painful temporary workaround would be to disable support
> > for SNP if in-place conversion is enabled. That would avoid extending the in-place
> > conversion bottleneck for TDX, pKVM, and CCA, without having to take a gross hack
> > to make SNP play nice.
> >
> > E.g. this as a workaround for 7.4 (not yet tested)
> >
> > diff --git a/arch/x86/kvm/svm/sev.c b/arch/x86/kvm/svm/sev.c
> > index fad72cab76cf..df885b8214d4 100644
> > --- a/arch/x86/kvm/svm/sev.c
> > +++ b/arch/x86/kvm/svm/sev.c
> > @@ -3213,6 +3213,14 @@ void __init sev_hardware_setup(void)
> > sev_snp_supported = sev_snp_enabled && cc_platform_has(CC_ATTR_HOST_SEV_SNP);
> >
> > out:
> > + /*
> > + * FIXME: Allow SNP with in-place guest_memfd conversion once the PSP
> > + * driver no longer takes its global mutex outside of mmap_lock (which
> > + * leads to deadlock with sev_gmem_post_populate()).
> > + */
> > + if (gmem_in_place_conversion)
> > + sev_snp_supported = false;
> > +
>
> If we go with something like this, when SNP and gmem_in_place_conversion
> starts to work together, would we need some kind of new CAP or other way
> to advertise that guest_memfd and SNP are now friends?
I don't think so? KVM already enumerates support for SNP, so reverting the
block should tell userspace everything it needs. We'd need to document that
enabling in-place conversion disables SNP support, but I think it's purely a
documentation problem.
next prev parent reply other threads:[~2026-10-12 20:13 UTC|newest]
Thread overview: 106+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-22 23:13 [PATCH v14 00/22] TDX KVM selftests Lisa Wang
2026-07-22 23:13 ` [PATCH v14 01/22] KVM: selftests: Add macros to simplify creating VM shapes for non-default types Lisa Wang
2026-08-19 7:44 ` Peter Fang
2026-09-08 16:58 ` Ackerley Tng
2026-07-22 23:13 ` [PATCH v14 02/22] KVM: selftests: Update kvm_init_vm_address_properties() for TDX Lisa Wang
2026-08-13 23:17 ` Edgecombe, Rick P
2026-09-08 17:42 ` Ackerley Tng
2026-07-22 23:13 ` [PATCH v14 03/22] KVM: selftests: Initialize the TDX VM Lisa Wang
2026-07-23 8:44 ` Xiaoyao Li
2026-08-13 23:41 ` Edgecombe, Rick P
2026-08-15 9:17 ` Xiaoyao Li
2026-09-08 8:04 ` Lisa Wang
2026-09-08 18:08 ` Ackerley Tng
2026-09-09 10:00 ` Xiaoyao Li
2026-09-18 1:40 ` Lisa Wang
2026-08-13 23:41 ` Edgecombe, Rick P
2026-08-14 21:18 ` Peter Fang
2026-08-20 8:46 ` Peter Fang
2026-07-22 23:13 ` [PATCH v14 04/22] KVM: selftests: TDX: Use KVM_TDX_CAPABILITIES to validate TDs' attribute configuration Lisa Wang
2026-08-13 23:45 ` Edgecombe, Rick P
2026-09-08 19:06 ` Ackerley Tng
2026-07-22 23:13 ` [PATCH v14 05/22] KVM: selftests: Expose segment definitions to assembly files Lisa Wang
2026-08-13 23:50 ` Edgecombe, Rick P
2026-09-08 19:03 ` Ackerley Tng
2026-07-22 23:13 ` [PATCH v14 06/22] tools: include: Add kbuild.h for assembly structure offsets Lisa Wang
2026-09-08 19:01 ` Ackerley Tng
2026-07-22 23:13 ` [PATCH v14 07/22] KVM: selftests: Introduce structures for TDX guest boot parameters Lisa Wang
2026-07-22 23:13 ` [PATCH v14 08/22] KVM: selftests: Add TDX boot code Lisa Wang
2026-07-23 11:17 ` Xiaoyao Li
2026-08-21 5:16 ` Peter Fang
2026-07-22 23:13 ` [PATCH v14 09/22] KVM: selftests: Expose functions to get default sregs values Lisa Wang
2026-07-23 10:19 ` Xiaoyao Li
2026-08-14 0:44 ` Edgecombe, Rick P
2026-08-14 2:36 ` Xiaoyao Li
2026-08-14 15:14 ` Edgecombe, Rick P
2026-07-22 23:13 ` [PATCH v14 10/22] KVM: selftests: Set up TDX boot code region Lisa Wang
2026-07-23 10:24 ` Xiaoyao Li
2026-08-24 19:27 ` Peter Fang
2026-08-24 20:00 ` Sean Christopherson
2026-08-26 8:31 ` Peter Fang
2026-08-28 20:14 ` Lisa Wang
2026-07-22 23:13 ` [PATCH v14 11/22] KVM: selftests: Set up TDX boot parameters region Lisa Wang
2026-07-23 10:34 ` Xiaoyao Li
2026-08-11 6:32 ` Binbin Wu
2026-08-25 8:14 ` Peter Fang
2026-09-08 19:18 ` Ackerley Tng
2026-09-17 9:12 ` Peter Fang
2026-07-22 23:13 ` [PATCH v14 12/22] KVM: selftests: Require guest_memfd for TDX VMs Lisa Wang
2026-08-11 7:43 ` Binbin Wu
2026-08-14 7:42 ` Xiaoyao Li
2026-09-25 22:04 ` Lisa Wang
2026-07-22 23:13 ` [PATCH v14 13/22] KVM: selftests: Support guest_memfd in-place conversion Lisa Wang
2026-08-18 8:17 ` Xiaoyao Li
2026-10-12 15:26 ` Sean Christopherson
2026-10-12 16:06 ` Sean Christopherson
2026-10-12 19:53 ` Michael Roth
2026-10-12 20:09 ` Sean Christopherson
2026-10-12 20:15 ` Michael Roth
2026-10-12 19:55 ` Ackerley Tng
2026-10-12 20:13 ` Sean Christopherson [this message]
2026-08-25 21:53 ` Peter Fang
2026-07-22 23:13 ` [PATCH v14 14/22] KVM: selftests: Expose function to allocate vCPU stack Lisa Wang
2026-08-14 8:10 ` Xiaoyao Li
2026-07-22 23:13 ` [PATCH v14 15/22] KVM: selftests: Call KVM_TDX_INIT_VCPU when creating a new TDX vcpu Lisa Wang
2026-08-14 8:32 ` Xiaoyao Li
2026-08-18 8:58 ` Binbin Wu
2026-08-26 21:22 ` Peter Fang
2026-07-22 23:13 ` [PATCH v14 16/22] KVM: selftests: Load per-vCPU guest stack in TDX boot parameters Lisa Wang
2026-08-14 8:39 ` Xiaoyao Li
2026-08-26 22:17 ` Peter Fang
2026-07-22 23:13 ` [PATCH v14 17/22] KVM: selftests: Set entry point for TDX guest code Lisa Wang
2026-08-14 8:43 ` Xiaoyao Li
2026-08-18 9:04 ` Binbin Wu
2026-07-22 23:13 ` [PATCH v14 18/22] KVM: selftests: Add helpers to init TDX memory and finalize VM Lisa Wang
2026-08-17 6:47 ` Xiaoyao Li
2026-08-17 13:52 ` Ackerley Tng
2026-08-18 7:33 ` Xiaoyao Li
2026-09-08 23:12 ` Ackerley Tng
2026-07-22 23:13 ` [PATCH v14 19/22] KVM: selftests: Finalize TD memory as part of kvm_arch_vm_finalize_vcpus Lisa Wang
2026-08-17 7:04 ` Xiaoyao Li
2026-09-08 23:24 ` Ackerley Tng
2026-09-17 9:16 ` Peter Fang
2026-08-27 7:51 ` Peter Fang
2026-07-22 23:13 ` [PATCH v14 20/22] KVM: selftests: Implement MMIO WRITE for the TDX VM Lisa Wang
2026-07-28 22:56 ` Ackerley Tng
2026-08-17 8:56 ` Xiaoyao Li
2026-08-27 9:19 ` Peter Fang
2026-07-22 23:13 ` [PATCH v14 21/22] KVM: selftests: Add ucall support for TDX Lisa Wang
2026-08-17 8:38 ` Xiaoyao Li
2026-08-28 2:06 ` Peter Fang
2026-08-28 2:31 ` Xiaoyao Li
2026-08-28 4:20 ` Peter Fang
2026-08-28 14:18 ` Sean Christopherson
2026-08-31 22:10 ` Peter Fang
2026-09-09 10:59 ` Xiaoyao Li
2026-07-22 23:13 ` [PATCH v14 22/22] KVM: selftests: Add TDX lifecycle test Lisa Wang
2026-08-17 9:04 ` Xiaoyao Li
2026-08-28 4:33 ` Peter Fang
2026-08-13 22:47 ` [PATCH v14 00/22] TDX KVM selftests Edgecombe, Rick P
2026-08-13 23:05 ` Edgecombe, Rick P
2026-08-17 4:19 ` Ackerley Tng
2026-08-17 17:54 ` Edgecombe, Rick P
2026-10-08 21:16 ` Edgecombe, Rick P
2026-10-10 1:28 ` Xiaoyao Li
2026-10-12 15:51 ` Edgecombe, Rick P
2026-08-28 18:30 ` Lisa Wang
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=as0_f5dTbCWuODwQ@google.com \
--to=seanjc@google.com \
--cc=ackerleytng@google.com \
--cc=afranji@google.com \
--cc=ashish.kalra@amd.com \
--cc=binbin.wu@linux.intel.com \
--cc=chao.gao@intel.com \
--cc=chenyi.qiang@intel.com \
--cc=erdemaktas@google.com \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=michael.roth@amd.com \
--cc=pbonzini@redhat.com \
--cc=pratikrajesh.sampat@amd.com \
--cc=rick.p.edgecombe@intel.com \
--cc=runanwang@google.com \
--cc=sagis@google.com \
--cc=thomas.lendacky@amd.com \
--cc=wyihan@google.com \
--cc=xiaoyao.li@intel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox