-
MAP_PRIVATE 文件映射的 folio 修改成按匿名页偏移建立索引
CoW 的匿名 folio 按照匿名页偏移建立 rmap 索引,为 scalable CoW 快路径奠基
-
让 MGLRU 回收尊重 swappiness
MGLRU 回收尊重 swappiness,偏好类型耗尽即主动 aging,swappiness=200 时 file 页回收从 349617 降至 10569
-
follow_page_mask 批量查找
follow_page_mask 单次调用 walk 整张 PTE 表,同 folio 连续 PTE 合并为一次引用抓取,64kB mTHP 提速 12.8 倍,4kB base page 提速 2.3 倍
-
在 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%
-
允许限制 kvmalloc() 用于 kmalloc() 的分配阶数
为 kvmalloc() 的 kmalloc() 尝试增设阶数上限 sysctl,超限请求直接走 vmalloc(),消除高阶尝试的碎片与后台回收代价
-
使用基于 CPU 的压缩后端时禁止抢占
zram 用基于 CPU 的压缩后端时恢复持 stream 期间禁抢占,消除高优先级线程 swap-in 等锁卡顿的 Android 回归
-
为非机密 VM 的 guest_memfd 启用 folio 迁移
为非机密 VM 的 guest_memfd 启用 folio 迁移,让 compaction 与 NUMA 迁移等机制能作用于 guest_memfd 内存