-
拆分未充分使用的匿名 mTHP folio
按 folio 大小缩放 underused 阈值并让匿名 mTHP 进 deferred split 队列,内存压力下回收空白部分释放约 240MB
-
把 zswap entry 存入 swap table
把 zswap 压缩条目直接存进 swap table 而免查 xarray,让换入直达条目,吞吐提升约 12%
-
缓存 top tier 节点
在 hotplug 时算好并缓存 NUMA top tier 判定,让热路径退化为只读位测试,消除反复进 RCU 与重算开销
-
优化 KSM rmap_walk_ksm 性能
在 KSM 去重时记下页索引把反向遍历收窄到精确位置,让 anon_vma 锁持有从数百毫秒降至约 1.67 毫秒
-
memcg 在 dying 时 bail out reclaim
回收循环每轮检查 memcg 是否正被销毁并及时退出,释放其 kernfs 引用解除全局 cgroup 锁长持,消除约 159 秒停摆
-
zswap_shrinker_count 改用 ratelimited stats flush
改用限速 flush 替换 zswap 回收量估算的同步全局 rstat 锁,让锁竞争归零,把约 84% 周期从锁等待还给实际回收
-
去掉匿名页重用路径的冗余 lru_add_drain
匿名页重用路径删除冗余 LRU drain,改为按 folio 是否在 lru_cache/swapcache 触发,消除已失效的无条件 drain,冗余调用最多减约 30%
-
用批量拷贝与 hardware offload 加速页迁移
将页迁移的拷贝批量化并交给 DMA 硬件并行卸载,2M folio 迁移吞吐提升约 6 倍
-
降低 cgroup v2 上的 CPU 与内存及代码开销
扩展 vmpressure 入口早退,挡住 cgroup v2 上空转的用户态通知路径,每分钟约 1.6 万次无谓调用归零
-
修复 shmem 的自动 NUMA balancing
让空 NUMA 策略的 shmem 回退到任务策略,恢复默认 tmpfs 的 tier 迁移与 NUMA 扫描
-
降低 zs_free 的锁竞争
把大小类索引编码进对象以无锁定位、并将整页释放移出类锁,让 zs_free 多核并发提速约 1.8 倍
-
在 buddy fastpath 使用已有的 highatomic 预留
分离 highatomic 标志的用已有预留与增长预留两项职责,让快路径消费已有预留却不增长,高优先级非阻塞分配不再 fallback
-
减少不必要的 xarray 查找
filemap 读路径拿到最后一个所需 folio 后仍多走一轮 xarray 迭代;边界检查移到迭代器前进之前,filemap_get_read_batch() 开销从 2.91% 降到 2.53%
-
为 PowerPC Book3S64 启用 THP swap
Book3S64 THP swap 静态数组改取运行时大页阶数与架构上界,启用整个大页 swapout、免逐 small folio 重复记账与 I/O,swapout 带宽 Hash 翻倍