-
obj_cgroup_may_zswap() 改用限速的 stats flush
obj_cgroup_may_zswap() 改用限速 flush,swap storm 下 flush 281,017 降至 80,445
-
为 DAMON 新增 ARM SPE AUX 后端
DAMON 硬件采样框架新增 AUX 后端通道,ARM SPE 包流在 kdamond 进程上下文解码成访问报告,送进现有 SPSC 报告环
-
在迁移原语上重建折叠引擎
用迁移机制的两道屏障重建 khugepaged 匿名折叠:源页原地冻住取代地址空间锁,支持子 PMD 窗口,被折叠的工作负载读写 p99 降约七成
-
批量处理 large folio 迁移的 rmap walk
按连续 PTE 批次把 large folio 迁移的解除映射与恢复 2 趟 rmap walk 合并处理,1M folio 迁移吞吐提升约 44%
-
修复 large folio young 计数少计
look-around 触发 folio 的 young 贡献固定按 1 计,large folio 少计 nr-1 使热 PMD 进不了 bloom filter 面临误回收;初值改按批量大小 nr
-
MAP_PRIVATE 文件映射的 folio 修改成按匿名页偏移建立索引
CoW 的匿名 folio 按照匿名页偏移建立 rmap 索引,为 scalable CoW 快路径奠基
-
在 shrink_lruvec() 中上报 RCU-tasks 静止状态
回收扫描循环改用 cond_resched_tasks_rcu_qs(),不调度也上报静止状态,回收任务不再触发 rcu_tasks stall 告警
-
coredump_filter 新增 bit 9 在 dump 前预释放文件
coredump_filter 新增 bit 9,清 0 则 dump 前预释放文件资源,flock 等待从 11280ms 降为 0ms
-
kfree_nolock() 支持释放 kmalloc() 对象
kfree_nolock() 支持任意 kmalloc() 对象,特殊对象按需转 irq_work,调度器告别 kfree_rcu 宽限期
-
引入分层的 memcg 限额
memcg 限额按 tier 容量占比切分到每层,在分配、charge、回收与迁移路径执行,实测 CXL 用量从 7.10x 压到 1.06x
-
修复并改进 zswap shrink
zswap shrink_memcg 每节点扫描上限从 1 放宽到 SWAP_CLUSTER_MAX 批量 writeback,shrink_worker 唤醒与调用降逾 96%,store 拒绝率与 pswpin 明显下降
-
引入 package 感知的 weighted interleave
weighted interleave 页优先在本地 package 内按权重散布,消除跨互连的快慢倒挂;双路 Xeon 6980P 上带宽较 DRAM Only 高 38%,负载延迟降 20%
-
让 zsmalloc shrinker 压实感知预算
zsmalloc shrinker 回调以 sc->nr_to_scan 为压实目标、按 size class 游标续扫,不再整池压实,单次回调耗时受回收预算约束
-
为 iomap 与 XFS 添加 buffered write-through 支持
iomap 与 XFS 实现 buffered write-through,写进 page cache 并同步落盘,随机覆写负载吞吐最高提升 198.5%