Re: [PATCH 3/3] KVM: guest_memfd: GUP source pages prior to populating guest memory
From: Vishal Annapurve
Date: Sun Nov 30 2025 - 20:44:45 EST
On Fri, Nov 21, 2025 at 5:02 AM Michael Roth <michael.roth@xxxxxxx> wrote:
>
> >
> > Increasing GMEM_GUP_NPAGES to (1UL << PUD_ORDER) is probabaly not a good idea.
> >
> > Given both TDX/SNP map at 4KB granularity, why not just invoke post_populate()
> > per 4KB while removing the max_order from post_populate() parameters, as done
> > in Sean's sketch patch [1]?
>
> That's an option too, but SNP can make use of 2MB pages in the
> post-populate callback so I don't want to shut the door on that option
> just yet if it's not too much of a pain to work in. Given the guest BIOS
> lives primarily in 1 or 2 of these 2MB regions the benefits might be
> worthwhile, and SNP doesn't have a post-post-populate promotion path
> like TDX (at least, not one that would help much for guest boot times)
Given the small initial payload size, do you really think optimizing
for setting up huge page-aligned RMP entries is worthwhile?
The code becomes somewhat complex when trying to get this scenario
working and IIUC it depends on userspace-passed initial payload
regions aligning to the huge page size. What happens if userspace
tries to trigger snp_launch_update() for two unaligned regions within
the same huge page?
What Sean suggested earlier[1] seems relatively simpler to maintain.
[1] https://lore.kernel.org/kvm/aHEwT4X0RcfZzHlt@xxxxxxxxxx/
>
> Thanks,
>
> Mike