Re: [PATCH v10 40/41] KVM: selftests: Update private_mem_conversions_test to mmap() guest_memfd
Ackerley Tng <[email protected]>
| Newsgroups | org.kernel.vger.kvm,dev.linux.lists.linux-coco,org.kernel.vger.linux-doc,org.kernel.vger.linux-kernel,org.kernel.vger.linux-kselftest,org.kernel.vger.linux-trace-kernel,org.kvack.linux-mm |
|---|---|
| Message-ID | <CAEvNRgF8XE2Xsn-g3qzPxcdfLdvJEc1FZw9LQ+deeXsFpdZsOg@mail.gmail.com> |
Sean Christopherson <[email protected]> writes: > On Fri, Aug 21, 2026, Xiaoyao Li wrote: >> On 8/8/2026 5:53 AM, Ackerley Tng via B4 Relay wrote: >> > From: Ackerley Tng<[email protected]> >> > >> > Update the private memory conversions selftest to also test conversions >> > that are done "in-place" via per-guest_memfd memory attributes. In-place >> > conversions require the host to be able to mmap() the guest_memfd so that >> > the host and guest can share the same backing physical memory. >> > >> > This includes several updates, that are conditioned on the system >> > supporting per-guest_memfd attributes (kvm_has_gmem_attributes): >> > >> > 1. Set up guest_memfd requesting MMAP and INIT_SHARED. >> >> If I understand correctly, even with in-place gmem, the model that shared >> memory comes from the userspace_addr and private memory comes from gmem can >> still work without passing GUEST_MEMFD_FLAG_MMAP flag. >> >> Since this model is not prohibited by KVM. I think we should keep the >> testcase for this model to ensure test coverage? > > +1. Deprecated doesn't mean unsupported. The original test case was for non-in-place conversion, which wasn't removed, it still passes. Is the ask to also test, under kvm_has_gmem_attributes aka gmem_in_place_conversion, to have guest_memfd used as purely for private memory and have shared memory taken from somewhere else completely? I can rephrase the changelog and change the code to clarify that this patch is meant to specifically test in-place conversion with MMAP, the intended usage of in-place conversions. The ask to test gmem for private and something else for shared seems like a different test that can be added separately, perhaps in a follow-up series?