On Thu, May 15, 2025 at 11:03 AM Edgecombe, Rick P <rick.p.edgecombe@xxxxxxxxx> wrote: > > On Wed, 2025-05-14 at 16:41 -0700, Ackerley Tng wrote: > > Hello, > > > > This patchset builds upon discussion at LPC 2024 and many guest_memfd > > upstream calls to provide 1G page support for guest_memfd by taking > > pages from HugeTLB. > > Do you have any more concrete numbers on benefits of 1GB huge pages for > guestmemfd/coco VMs? I saw in the LPC talk it has the benefits as: > - Increase TLB hit rate and reduce page walks on TLB miss > - Improved IO performance > - Memory savings of ~1.6% from HugeTLB Vmemmap Optimization (HVO) > - Bring guest_memfd to parity with existing VMs that use HugeTLB pages for > backing memory > > Do you know how often the 1GB TDP mappings get shattered by shared pages? > > Thinking from the TDX perspective, we might have bigger fish to fry than 1.6% > memory savings (for example dynamic PAMT), and the rest of the benefits don't > have numbers. How much are we getting for all the complexity, over say buddy > allocated 2MB pages? This series should work for any page sizes backed by hugetlb memory. Non-CoCo VMs, pKVM and Confidential VMs all need hugepages that are essential for certain workloads and will emerge as guest_memfd users. Features like KHO/memory persistence in addition also depend on hugepage support in guest_memfd. This series takes strides towards making guest_memfd compatible with usecases where 1G pages are essential and non-confidential VMs are already exercising them. I think the main complexity here lies in supporting in-place conversion which applies to any huge page size even for buddy allocated 2MB pages or THP. This complexity arises because page structs work at a fixed granularity, future roadmap towards not having page structs for guest memory (at least private memory to begin with) should help towards greatly reducing this complexity. That being said, DPAMT and huge page EPT mappings for TDX VMs remain essential and complement this series well for better memory footprint and overall performance of TDX VMs.