Re: [RFC PATCH v2 35/51] mm: guestmem_hugetlb: Add support for splitting and merging pages

From: Sean Christopherson
Date: Fri Oct 03 2025 - 12:11:23 EST


On Wed, May 14, 2025, Ackerley Tng wrote:
> const struct guestmem_allocator_operations guestmem_hugetlb_ops = {
> .inode_setup = guestmem_hugetlb_setup,
> .inode_teardown = guestmem_hugetlb_teardown,
> .alloc_folio = guestmem_hugetlb_alloc_folio,
> + .split_folio = guestmem_hugetlb_split_folio,
> + .merge_folio = guestmem_hugetlb_merge_folio,
> + .free_folio = guestmem_hugetlb_free_folio,
> .nr_pages_in_folio = guestmem_hugetlb_nr_pages_in_folio,
> };
> EXPORT_SYMBOL_GPL(guestmem_hugetlb_ops);

Don't bury exports in an "ops" like this. Be very explicit in what is exported.
_If_ KVM needs a layer of indirection to support multiple, custom guest_memfd
allocators, then KVM can wire up ops as above. Indirectly exporting core mm/
functionality via an ops structure like this is unnecessarily sneaky.