📅 Linux 内核性能日报 - 2026-08-07

MGLRU-FG(frequency guided promotion)7.3 RFC 洞察 · 内存 · 页回收 · 工作集
1
分析篇
0
进展更新
1
新增(7.3 RFC 洞察)

📌 专题说明:MGLRU-FG 跨窗口 RFC 洞察

分析对象:mm/mglru frequency guided promotion(腾讯 Kairui Song,RFC v2)
本日报为 7.3 周期候选 RFC 洞察。MGLRU-FG 是 未合入主线 的 RFC 系列(v1 05-01 32 补丁 / v2 08-03 15 补丁),按时间窗口不在 7.2 周期(06-14 → 08-02)内,因此 08-06 的 7.2 专题日报未覆盖。因该特性价值突出(把 MGLRU 热度从"单比特引用"升级为"按访问频率分档 + 惰性代际提升",作者自报 Chromium/Node.js +47.4%、MongoDB YCSB +10.3%),单独立篇为 7.3 RFC 洞察分析,标 linux-7.3 tag 供版本级聚合。本系列此前因 _find_subsys 复合前缀 bug(mm/mglru: 匹配不上 mm:/mglru: 前缀)在 lore 召回中被系统化遗漏,已修复 subsystems.yml 通用前缀。

🧠 内存

主线上游 MGLRU 对页面缓存只有"最近是否被引用"单比特热度:热顺序读(readahead refs==0)被误判冷页优先回收,冷随机扫描反复污染缓存——作者复现 SQLite 热顺序+小热区从经典 LRU 14.51ms 恶化到主线 MGLRU 567.05ms(约 39 倍)。本系列把热度升级为统一 0~7 访问计数(refs)→ 按访问频率分档(tier)→ 热度达标时惰性提升到更年轻代际(gen climbing,无 LRU 锁)。核心机制:lru_refs_from_flags() 拼合 PG_referenced/PG_workingset/LRU_REFS_MASK 三个标记成 refs;lru_tier_from_refs()=fls(refs-1) 访问 2 次即进 workingset 档;refs 达 LRU_REFS_MAX 时清 PG_lru 隔离 + RCU + gen+1 惰性晋升。作者自报(未独立验证):Chromium & Node.js 总请求 +47.4%、MongoDB YCSB +10.3%、FIO zipf +11.1%、内核构建 refault_file -32%;v2 砍掉 refault distance(工作集剧变响应慢,作者列为待加项),tier 数固定 4。特性等级 ★★★★(RFC 未合入)。
⚠️ 免责声明

本站内容均由 AI 基于公开知识辅助生成,仅供学习参考,请勿直接引用作为依据。作者不对信息的准确性、完整性及适用性作保证,亦不对因使用本站内容产生的任何损失承担责任。