v3
2026-11-07
简化DAX vmemmap优化 · v3
删除 vmemmap_can_optimize() 和 population API 的 @pgmap 参数,清理 powerpc/loongarch 相关支持。
原始补丁链接
子 Patch(5)
1/5
powerpc/mm: make vmemmap_populate_compound_pages() static
vmemmap_populate_compound_pages() is no longer used outside radix_pgtable.c. Make it static and drop the unused dev_pagemap argument from its only remaining caller to simplify the code. Signed-off-b
2/5
powerpc/mm: drop powerpc vmemmap_can_optimize()
Whether the optimized mapping can be used is now decided in the architecture-specific vmemmap_populate() path. When PowerPC has to fall back, such as on Hash MMU, it can disable optimization for the p
3/5
loongarch/mm: disable device DAX vmemmap optimization
LoongArch selects ARCH_WANT_OPTIMIZE_HUGETLB_VMEMMAP but not ARCH_WANT_OPTIMIZE_DAX_VMEMMAP. Its vmemmap_free() implementation is also empty, so it cannot tear down optimized Device DAX mappings. A l
4/5
mm/sparse-vmemmap: drop vmemmap_can_optimize()
section_vmemmap_optimizable() can already decide whether a section uses vmemmap optimization based on the section compound order. The DAX-specific vmemmap_can_optimize() helper duplicates that policy,
5/5
mm/sparse-vmemmap: drop @pgmap from vmemmap population APIs
The vmemmap population and memory hotplug paths no longer need @pgmap to decide whether a mapping can be optimized. That state is now carried in mem_section, and the architecture-specific population c