v3
2026-10-24
拆分未充分使用的匿名mTHP · v3
按folio大小缩放thp_underused(),未启用underused分裂时不排队folio,并延迟分裂匿名mTHP。
原始补丁链接
子 Patch(3)
1/3
mm/huge_memory: scale thp_underused() to the folio size
thp_underused() 改为按 folio_nr_pages() 等比缩放 khugepaged_max_ptes_none,不再固定 HPAGE_PMD_NR,使各阶 folio 零页阈值成比例,为 mTHP 入 deferred split 列表铺路。
2/3
mm/huge_memory: don't queue folios when underused splitting is inactive
新增 thp_underused_never():khugepaged_max_ptes_none 为上限时 deferred_split_folio() 跳过入队,避免默认配置下 list_lru 锁竞争和 shrinker 无效扫描;部分映射 folio 仍入队。
3/3
mm: add anonymous mTHP folios to the deferred split list
在 map_anon_folio_pte_nopf() 中把匿名 mTHP folio 加入 deferred split 列表,覆盖 fault 和 khugepaged collapse;内存压力下可拆分零填充 mTHP 回收零页,仅队列 >=2M 的 folio。