v4
2026-07-31
重构 try_to_unmap_one · v4
v4:重命名 hugetlb 中毒 unmap 函数,收紧注释,VM_WARN_ON 改 ONCE。
原始补丁链接
子 Patch(5)
1/5
mm/rmap: convert page -> folio for hwpoison checks
将try_to_unmap_one()中hwpoison子页检查改为folio_test_hwpoison(),并替换VM_BUG为VM_WARN,因为只有hugetlb folio头部页设poison位。
2/5
mm/rmap: Add try_to_unmap_poisoned_hugetlb_one
从try_to_unmap_one()中分离hugetlb hwpoison映射处理到新函数try_to_unmap_poisoned_hugetlb_one(),简化主路径。
3/5
mm/rmap: refactor some code around lazyfree folio unmapping
提取lazyfree folio unmap中检查脏页/引用的分支逻辑为独立函数,返回是否需中止;完善标签命名,无功能变化。
4/5
mm/rmap: refactor anon folio unmap in try_to_unmap_one
将try_to_unmap_one()中匿名swapbacked folio处理封装到ttu_anon_swapbacked_folio(),并清理变量命名。
5/5
mm/rmap: add anon folio unmap dispatcher
引入ttu_anon_folio()派发器,区分lazyfree和swapbacked路径,将PTE恢复留在调用者,无功能变化。