LWN Weekly Edition - July 30, 2026
📰 LWN Weekly Edition - July 30, 2026
本期 LWN 周刊聚焦内核并发机制与存储子系统的架构改进。头条文章介绍了 hazard pointers 作为 RCU 替代方案引入内核的最新进展,为无锁数据更新提供了新思路。此外,2026 LSFMM+BPF 峰会的多篇报道持续跟进,涵盖 swap 设备操作抽象层、netkit 零拷贝网络以及内联函数调试信息等议题。发行版方面,Debian 新 DFSG 团队的运行报告和 Fedora 精简版 GRUB 获批也颇受关注。最后,gccrs 项目在编译 Linux 内核 Rust 组件方面取得了阶段性进展。
📊 共 8 篇文章 · 评论总数 44 · 评论最多:「Hazard pointers for the kernel」/「A report from Debian's new DFSG team」(9 posted)
🔥 文章详情
Kernel
内核引入 hazard pointers 作为 RCU 的替代方案用于无锁数据更新。与 RCU 要求禁用抢占不同,hazard pointers 允许抢占,适合持有对不可变对象的短期引用。API 层面,使用者需分配 struct hazptr_ctx 上下文,通过 hazptr_acquire() 获取受保护对象指针,确保对象在引用期间不被修改或删除。该机制在某些场景下可能提供比 RCU 更好的性能,引发社区热议。
来自 LSFMM+BPF 峰会的报道。内核 swap 子系统从最初仅支持本地磁盘分区,到后来支持文件和网络文件系统,各后端差异一直以特殊情况代码处理,缺乏抽象层。Baoquan He 提出的 struct swap_ops 补丁系列旨在定义统一的 swap 层与后端接口(包含 read_folio、write_folio 等操作),使子系统更易维护和扩展。
BPF / LSFMM+BPF Summit
Daniel Borkmann 在峰会上介绍了 netkit 的进展——该子系统允许 VM 高效执行网络操作。关键进展是最近合并的 queue leasing 支持,使 VM 可在网络命名空间中实现零拷贝收包,满足 KubeVirt 等场景需求。此外 Borkmann 还探讨了用 BPF 对用户空间程序进行 live-patch 的设想,但该想法目前仍处于纯构想阶段。
Alan Maguire 提议向 BTF(BPF Type Format)添加内联函数信息以支持追踪。内核中有超过 10 万个内联函数分布在 50 万处位置,部分函数还存在"部分内联"情况,导致当前追踪可能遗漏调用。好消息是 kprobes 等基础设施已就绪,核心问题在于如何将内联位置数据以可用格式整合到 BTF 中。
Distributions
2025 年 10 月 ftpmaster 团队拆分后成立的 DFSG 团队(负责审核新包是否符合 Debian 自由软件指南)在 DebConf26 上做了运行报告。Andrew McMillan 介绍了团队活动和现状,初步结论是新的职责划分运转良好。此前 ftpmaster 团队兼管所有事务,新包在队列中等待时间常被开发者诟病,拆分后审核效率有所改善。
Fedora 45(预计 10 月发布)将新增一个精简版 GRUB 包,专为机密计算场景设计。该包仅包含 UEFI 引导和最小模块集,用于引导 UKI(统一内核镜像)和 sealed bootable container 镜像。虽有社区成员建议改用 systemd-boot,但 FESCo 已于 7 月 7 日投票通过该提案。新包不会替代主 GRUB 包,仅服务于虚拟化/公有云等特定场景。
Development
gccrs 项目(GCC 的 Rust 前端)2026 上半年重点攻关编译 Linux 内核的 Rust 组件。通过对内核 crates 测试,团队解决了属性处理、名称解析和资源管理等方面的问题(分别记录在 2 月和 5 月报告中)。目前编译器仅能处理简单独立程序,但未来数月可能快速推进。该项目对 LLVM 未覆盖的架构提供 GCC 替代编译链尤为重要。
评论