2026-06-16 内核社区日报
今日关注:
kfree_rcu_nolock()系列收到 Alexei Starovoitov 详尽 review,slab 在 NMI/hardirq 上下文的递归保护面临调整;eBPF 方面 sockmap 锁反转修复落地、conntrack opts 边界检查加强;文件系统侧 vmsplice 包装器在 s390 引发回归、btrfs 多路径错误修复系列提交。
今日关注:
kfree_rcu_nolock()系列收到 Alexei Starovoitov 详尽 review,slab 在 NMI/hardirq 上下文的递归保护面临调整;eBPF 方面 sockmap 锁反转修复落地、conntrack opts 边界检查加强;文件系统侧 vmsplice 包装器在 s390 引发回归、btrfs 多路径错误修复系列提交。
今天的关键词是 slab 分配器数据结构重构:Vlastimil Babka 发布 v3,将 slab 内部
alloc_flags机制、slab_alloc_context统一及__GFP_NO_OBJ_EXT的替代方案推进到可合入状态,并已入slab/for-next。同时 zram 试图绕过通用 swap 路径,直接注册自有的 swap I/O ops,可能为压缩后端带来性能与灵活性的提升。
今日关注:vmalloc 的 vmap_area 索引从红黑树迁移到 maple tree 的 RFC 系列首次发布,为内核内存管理的重映射路径带来可扩展性改进;网络方面,Jakub Kicinski 正式拒绝 TLS + sockmap 组合,清除长期存在的安全隐患,同时 libbpf 的 ring buffer 用户态库收到 6 个关键正确性修复。
虚拟 Swap 空间架构首次亮相,为 zswap 开辟独立内存后端;KASAN MTE 引入 allocation-only 轻量模式,在检测能力与开销间提供新权衡。
DAMON 自动调优的 huge page 折叠机制进入第四版,为内存热点区域提供更智能的透明大页管理;huge page split 路径中一个导致内核崩溃的 LRU 异常加入问题引发深度讨论,修复方案逐渐清晰。
源码版本:本文所有源码引用均基于
c425609d。
本文是「memcg v2 统一层级」系列第 4/4 部分,聚焦于用户态写入
memory.max限制后,内核如何依次经过计费检查、层级回收、OOM 判定的全过程。
源码版本:所有引用基于linux-next 6e845bcb,不同内核版本/分支的行号可能不同。
注意:本系列前三部分已介绍 memcg v2 的诞生背景、层级继承与资源控制、回收与 OOM 策略,本文不再重复。
今日亮点:per-VMA locks 走向无条件启用,KSM rmap 性能优化带来近百倍加速,arm64 开始引入 ROX cache 执行内存分配器。
两件值得关注的事:shmem 终于迎来 mTHP collapse,khugepaged 将能为 tmpfs 文件折叠任意 order 的 THP;另外 cpuset mempolicy 绑定到
effective_mems而非mems_allowed的 bug 被修复。
今日焦点:zsmalloc
zs_free()锁竞争优化 v4 将 perf 提升归因于 Android 场景;memory-failure 新增panic_on_unrecoverable_memory_failuresysctl,允许对不可恢复内核页 panic。