On Tue, Sep 29, 2026 at 01:32:26PM +0800, Muchun Song wrote: >VMEMMAP_POPULATE_DAX currently distinguishes DAX vmemmap population in >two places: it keeps allocations on the normal path and takes a reference >when a backing page is supplied for reuse. > >After Device DAX switched to the common per-zone shared tail page, both >conditions can be determined locally. DAX supplies ptpfn for every shared >tail mapping and requests an allocation only for compound head mappings, >whose PFNs are not optimizable. Therefore, vmemmap_optimizable_pfn() alone >selects the correct allocation path. > >When ptpfn is supplied, the caller is reusing an existing backing page. >Once the slab allocator is available, take a reference for each reused >mapping to balance the release performed by vmemmap_free(). Although the >buddy allocator is available before slab, no vmemmap population occurs in >that interval. Earlier mappings are backed by memblock/reserved memory and >do not need page reference accounting. > >Remove VMEMMAP_POPULATE_DAX and the flags argument from the vmemmap >population helpers. > >Signed-off-by: Muchun Song <[email protected]> >Acked-by: Qi Zheng <[email protected]> >---
LGTM! Feel free to add: Reviewed-by: Lance Yang <[email protected]>
