v2 2026-09-29

统一 HugeTLB 与 DAX vmemmap 填充 · v2

统一 HugeTLB 与 device DAX 的 vmemmap 填充路径,移除 VMEMMAP_POPULATE_DAX 和 DAX 专用填充代码。

原始补丁链接

子 Patch(6)

1/6
mm/sparse-vmemmap: drop VMEMMAP_POPULATE_DAX
[mm/sparse-vmemmap: drop VMEMMAP_POPULATE_DAX] VMEMMAP_POPULATE_DAX currently distinguishes DAX vmemmap population in two places: it keeps allocations on the normal path and takes a reference when a b
2/6
mm/sparse-vmemmap: support device DAX in common vmemmap path
[mm/sparse-vmemmap: support device DAX in common vmemmap path] The common vmemmap population path cannot yet handle optimized Device DAX mappings on its own. It uses pfn_to_zone() to find the shared t
3/6
mm/sparse-vmemmap: drop Device DAX-specific population path
[mm/sparse-vmemmap: drop Device DAX-specific population path] The common vmemmap path selects the shared page for optimized mappings itself, so Device DAX no longer needs vmemmap_populate_compound_pag
4/6
mm/sparse-vmemmap: remove the unused ptpfn argument
[mm/sparse-vmemmap: remove the unused ptpfn argument] vmemmap_pte_populate() no longer uses ptpfn as an input. Drop the argument to simplify the code. Signed-off-by: Muchun Song <songmuchun@bytedance
5/6
mm/sparse-vmemmap: open-code vmemmap_populate_address()
[mm/sparse-vmemmap: open-code vmemmap_populate_address()] vmemmap_populate_address() no longer has any callers that need the returned PTE. Its only remaining user, vmemmap_populate_range(), only chec
6/6
mm/mm_init: add zone mismatch warning during page init
[mm/mm_init: add zone mismatch warning during page init] For vmemmap-optimized sections, tail struct pages may be backed by shared vmemmap pages. Those shared pages must carry the same page zone ID as