-
阻塞不被允许时也允许 sheaf refill
只要允许自旋就给 mempool 的空 sheaf refill 对象,让 I/O 负载恢复快路径免回退慢路径
-
批量分配失败时用 RCU 宽限期替代 IPI 广播
把页表释放批量分配失败时的 IPI 广播换成等待 RCU 宽限期,提供同等同步保证却不打断任何 CPU
-
改进 khugepaged 扫描逻辑
按实际扫描页数计量进度并跳过 lazy-free folio,让 khugepaged 优先合并频繁访问的内存,显著降低无效 CPU 开销与 dTLB 未命中,单轮扫描时间从 419s 降至 20s
-
swap table 第三阶段移除 swap_map
改由 swap table 直接承担引用计数并移除随设备线性增长的静态数组,消除双重更新,挂 1TB 设备省约 256MB
-
用新分配器提升休眠性能
为 hibernation 新增快分配路径不再轮换 cluster,让休眠分配更快且写入连续,耗时缩短约 9 倍
-
为 large folio 支持批量引用检查与取消映射
引入批量接口一次检查并清空访问标志、合并取消映射,arm64 借 cont-PTE 落地,干净文件 large folio 回收提速约 75%
-
加速 gigantic folio 分配
在 gigantic folio 分配的区间验证中提前跳过本就不可移动的复合页与高阶 buddy 页,消除冗余验证,分配提速约 8 倍
-
folio_zero_user 清零页范围
按地址顺序连续清零透明大页以激活硬件预取器,清零带宽翻倍且缓存未命中骤降
-
阻止 __GFP_THISNODE THP 分配触发回收
补上检查令本地透明大页分配在初次压缩失败时即停止后续回收,避免本地节点近高水位缺页时触发过度回收
-
swap table 第二阶段统一换入走 swap cache 并清理标志位
统一同步 I/O 设备换入走 swap cache 并用 folio 锁同步,消除竞争者轮询长尾,后台保存吞吐提升约 20%