v6
2026-07-24
始终启用mTHP支持 · v6
引入pgtable_has_pmd_leaves() API,确保即使CPU不支持PMD大小页,mTHP仍保持启用。
原始补丁链接
子 Patch(14)
1/14
docs: tmpfs: remove implementation detail reference
移除 tmpfs 文档中对 has_transparent_hugepage() 实现细节的引用,避免用户混淆。
2/14
mm: shmem: shmem_getattr(): set blksize to highest supported THP order
修改 shmem_getattr(),将 blksize 设为 shmem_huge_global_enabled() 返回的最高支持 order 大小,而非固定 PMD 大小,修复 within_size 配置下可能误设的问题。
3/14
mm: introduce pgtable_has_pmd_leaves()
引入 pgtable_has_pmd_leaves() 替代 has_transparent_hugepage() 和 thp_disabled_by_hw(),语义明确检查 CPU 是否支持 PMD 页,并添加初始化函数 pgtable_leaf_support_init()。
4/14
drivers: dax: use pgtable_has_pmd_leaves()
在 dax_align_valid() 中将 has_transparent_hugepage() 替换为 pgtable_has_pmd_leaves(),统一 PMD 页支持检查。
5/14
drivers: nvdimm: use pgtable_has_pmd_leaves()
在 nd_pfn_supported_alignments() 和 nd_pfn_default_alignment() 中用 pgtable_has_pmd_leaves() 替换 has_transparent_hugepage(),并保留 CONFIG_TRANSPARENT_HUGEPAGE 检查。
6/14
mm: debug_vm_pgtable: use pgtable_has_pmd_leaves()
在 debug_vm_pgtable 中将 has_transparent_hugepage() 替换为 pgtable_has_pmd_leaves(),统一 PMD 页支持检查。
7/14
mm: shmem: allow THP support determination at folio allocation time
移除 shmem 中 has_transparent_hugepage() 在解析和初始化时的调用,改为在 folio 分配时动态判断 THP 大小支持,并保留 CONFIG_TRANSPARENT_HUGEPAGE 检查。
8/14
s390: move has_transparent_hugepage() out of THP guard
将 s390 的 has_transparent_hugepage() 定义移出 CONFIG_TRANSPARENT_HUGEPAGE 守卫,使其在 THP 禁用时也可用。
9/14
powerpc: move has_transparent_hugepage() out of THP guard
将 powerpc 的 has_transparent_hugepage() 定义移出 CONFIG_TRANSPARENT_HUGEPAGE 守卫,使其在 THP 禁用时也可用。
10/14
mips: move has_transparent_hugepage() out of THP guard
将 mips 的 has_transparent_hugepage() 定义移出 CONFIG_TRANSPARENT_HUGEPAGE 守卫,使其在 THP 禁用时也可用。
11/14
x86: move has_transparent_hugepage() out of THP guard
将 x86 的 has_transparent_hugepage() 定义移出 CONFIG_TRANSPARENT_HUGEPAGE 守卫,使其在 THP 禁用时也可用。
12/14
treewide: introduce arch_has_pmd_leaves()
将架构的 has_transparent_hugepage() 重命名为 arch_has_pmd_leaves(),并添加默认实现检查 CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE。
13/14
mm: replace thp_disabled_by_hw() with pgtable_has_pmd_leaves()
用 pgtable_has_pmd_leaves() 替换 thp_disabled_by_hw(),后者仅检查 PMD 页支持,语义相同但更清晰。
14/14
mm: thp: always enable mTHP support
允许 mTHP 始终启用,即使 PMD 页不支持;在 shmem_allowable_huge_orders() 中过滤掉不支持的 PMD/PUD order,并创建对应 sysfs 条目。