评审中
🚀 性能优化
最新 v5 · 更新于 2026-09-19
smaps_rollup 改用 per-VMA 锁
提交者:Suren Baghdasaryan · 首次出现 2026-09-07
让 /proc/pid/smaps_rollup 像 maps/smaps 一样在 RCU 加 per-VMA 读锁下遍历 VMA 和页表,冲突时才回退 mmap_lock,降低 mmap_lock 竞争。
版本时间线
v5
2026-09-19
· 2 封原始邮件
查看详情 →
让 /proc/pid/smaps_rollup 在 per-VMA 锁下读取,并清理 smap_gather_stats/proc_get_vma 特殊处理及添加撕裂测试。
v4
2026-09-14
· 6 封原始邮件
查看详情 →
让 /proc/pid/smaps_rollup 在 per-VMA 锁下读取,并添加 selftests 验证撕裂问题。
v3
2026-09-11
· 10 封原始邮件
查看详情 →
让 /proc/pid/smaps_rollup 在 per-VMA 锁下读取,清理 task_mmu 辅助函数并新增撕裂自测。
v2
2026-09-07
· 2 封原始邮件
查看详情 →
smaps_rollup 改为 RCU + VMA 读锁遍历,减少 mmap_lock 竞争,并扩展 proc-maps-race 测试覆盖。
日报中提到过
这几天的日报里对这个系列有更详细的"发生了什么/为什么重要"叙述,原始邮件摘要之外可以点进去看。