-
修复 vmstat_shepherd 双重调度 vmstat_update
让 vmstat 守护改看刷新的正执行状态而非待决位,消除双重调度与反复取 zone 锁,zone 锁竞争降约 55%
-
costly order 回收时跳过 socket pressure
让 vmpressure 仅低阶回收才断言 socket 压力,使高阶回收不再误节流 TCP,接收窗口卡死连接从约 19% 归零
-
mprotect 的微优化
为 mprotect 改保护位热循环里的 order-0 单页单开 fast path 内联批量 PTE 逻辑,加速约 18%
-
高效释放连续 order-0 页
按最大对齐块批量归还 vmalloc 连续页而非逐页释放,恢复高阶回收,紧密分配释放循环 micro-benchmark 提速约 5.6 倍
-
恢复 balance_dirty_pages 的无条件回写启动
恢复脏页平衡例程在节流期间无条件启动回写的兜底逻辑,让限流等待时回写常在,fuse 缓冲写吞吐回归约 700 倍
-
按 per-wb 阈值为 strictlimit BDI 启动背景回写
为 strictlimit 设备补 per-wb 阈值检查在撞墙前启动回写,让写者少撞限流墙,fuse 缓存写吞吐提升约 4%
-
阻止 MGLRU 回收 pin 住地址空间
让 MGLRU 回收时只稳定 mm 结构而不 pin 地址空间,使被杀进程的内存得以及时回收、oom-reaper 不再误判跳过
-
PCP 分配后不再扩大 highatomic 预留
高阶原子分配经 per-CPU 缓存命中后不再无谓扩大预留,把扩展移到真正需要它的伙伴路径,使预留回到正常水位、不再挤占正常分配
-
移除 should_abort_scan 的 root_reclaim 检查
移除 MGLRU 回收中已过时的组间公平检查让 memory.reclaim 达标即退出,消除约 12 倍过度回收
-
迁移后把目的 folio 重新入队延迟分裂队列
让 folio 迁移在成功后按源页状态把目的页重新入延迟分裂队列,避免 NUMA 迁移后未充分使用的 THP 静默脱队无法回收
-
让 sheaves 支持无内存节点
为所有在线节点建仓让 SLUB per-CPU 缓存覆盖无内存 NUMA 节点,使这些节点的分配与释放都走快路径,消除慢路径回归
-
nokmem 时不为 cgroup 分配 shrinker 信息
cgroup.memory 为 nokmem 时跳过 per-memcg shrinker 数据分配,省下无活 shrinker 白占的内存并消除随 memcg 数增长的持锁开销
-
为 MGLRU 支持批量检查 young 标志
改为整批表项一次处理 young 标志,让 MGLRU 回收与 generation 更新都走批量路径,8G 文件页回收耗时下降逾 60%
-
消除垂死内存 cgroup
LRU folio 改对 object cgroup 记账而不再钉住原 memcg,让用户弃用的 cgroup 及时释放,消除垂死 memcg 堆积的内存浪费与回收拖累