v3
2026-11-11
限制 khugepaged 持锁时长 · v3
恢复 khugepaged_mm_slot,并在 mmap_lock 竞争下优化 mm 扫描、扫描足够 VMA 后释放读锁。
原始补丁链接
子 Patch(3)
1/3
Revert "mm/khugepaged: remove definition of struct khugepaged_mm_slot"
部分回退 b4c9ffb54b32,恢复 struct khugepaged_mm_slot 以便后续在 mm_slot 旁保存额外数据;保留 __khugepaged_exit() 的 NULL 检查修复和 KMEM_CACHE() 写法。
2/3
mm/khugepaged: scan mm's more efficiently under mmap_lock contention
在 collapse_scan_mm_slot() 因 mmap_lock 竞争退出时记录最后扫描位置,下次从该地址继续,避免总从 0 重扫导致 pages_to_scan 预算耗尽、后半 mm 长期得不到 collapse。
3/3
mm/khugepaged: release contended mmap read lock after scanning enough VMAs
On Tue, Nov 10, 2026 at 05:19:13PM +0000, Lorenzo Stoakes (ARM) wrote: > khugepaged walks an mm’s VMAs under the mmap read lock in > collapse_scan_mm_slot(), checking for ineligible VMAs first, and sk