v6
2026-10-15
MGLRU补NR_ISOLATED并限流 · v6
MGLRU 回收补 NR_ISOLATED 计数并加 too_many_isolated 节流,避免并发回收过度隔离 folio。
原始补丁链接
子 Patch(2)
1/2
mm/vmscan: fix missing NR_ISOLATED counter update in MGLRU reclaim path
MGLRU 的 evict_folios() 从 LRU 隔离 folio 时漏更新 NR_ISOLATED_ANON/FILE,导致 compaction too_many_isolated() 少算;在 isolate_folios() 后增、重试结束用 nr_isolated 减,与传统路径一致。
2/2
mm/vmscan: throttle MGLRU eviction when isolated folios pile up
在 MGLRU evict_folios() 进入 lruvec 前调用新增 lru_gen_too_many_isolated()/throttle_evictable_types(),按 lruvec 以 evictable/MIN_NR_GENS 为阈值,仅当所有可选类型都过度隔离才睡眠,防止交换抖动/OOM。