LWN Weekly Edition - July 9, 2026

LWN Weekly Edition - July 9, 2026

6 篇文章 · 共 103 条评论
Generated by tanar · 2026-07-16 12:01

📰 本期概览 — LWN Weekly Edition - July 9, 2026

本期 LWN 周刊聚焦 Linux 内核基础设施的多个关键领域。Eric Biggers 在 2026 Linux 安全峰会北美站分享了内核密码学框架现代化的最新进展,用库 API 替代传统复杂的 crypto API;Jonathan Corbet 撰写了对内核 iomap 层的深度综述,追溯其从 XFS 文件系统中萌芽到如今成为通用文件系统存储映射核心组件的演进历程。来自 2026 LSFMM+BPF 峰会的报道则贡献了三个高热度话题:负目录项(negative dentries)数量失控引发的性能与锁定问题、RCU 性能优化与无锁内存分配(kmalloc_nolock)的协同设计,以及两个由 LLM 辅助生成的内存管理补丁集引发的社区对 AI 参与内核开发方式的讨论。

📊 共 6 篇文章 · 评论总数 103 · 评论最多:「Limiting negative dentries」「Faster RCUs and lockless memory allocation」「Two LLM-assisted memory-management patch sets」(各 22 条)

🔥 文章详情

Front Page

本期封面页汇总了五大核心内容:内核密码学现代化进展、iomap 层综述,以及来自 LSFMM+BPF 峰会的三场会议报道——负目录项限制、更快的 RCU 与无锁内存分配、LLM 辅助内存管理补丁集。另附简讯和社区公告。

Security

Progress in modernizing kernel cryptography 💬 18 · By Joe Brockmeier

在 2026 Linux 安全峰会北美站上,内核 crypto/CRC 库维护者 Eric Biggers 详细阐述了传统内核加密 API 的问题——接口复杂、容易误用。他展示了新的"库 API"方案,让开发者可以直接调用密码学函数而无需经过繁重的传统 crypto API 框架。通过具体示例,Biggers 演示了旧 API 的脆弱性以及新库 API 如何显著降低开发者和维护者的负担。这些改进涵盖存储/网络加密、随机数生成、固件完整性校验、防 DoS 等多种场景。

Kernel

The kernel's iomap layer 💬 1 · By Jonathan Corbet

Jonathan Corbet 对内核 iomap 层进行了全面综述。iomap 最早由 Christoph Hellwig 基于 Dave Chinner 在 XFS 中的实现引入 4.8 内核(2016年),现已发展为 fs/iomap 目录下十余个文件的通用框架。它分为两个层次:底层负责文件到持久存储的映射(取代老旧的 buffer heads 机制),高层基于此实现文件系统所需的各类操作。文章追溯了从 buffer heads 到 iomap 的演进动因,详解了存储映射的核心设计。

Limiting negative dentries 💬 22 · By Jake Edge

来自 LSFMM+BPF 峰会文件系统分会场的报道。Miklos Szeredi 主持讨论了负目录项(negative dentries,用于缓存"文件不存在"的查找结果)失控增长带来的一系列问题。Ian Kent 报告了一个目录下产生数亿负目录项的案例,导致 fsnotify_set_children_dentry_flags() 遍历所有项时触发软锁定;相关的 d_lockref 引用计数还可能溢出(超过 20 亿);过多的负目录项还会导致哈希链过长。会议讨论了多种限制和清理策略。

Faster RCUs and lockless memory allocation 💬 22 · By Daroc Alden

本文合并报道了 LSFMM+BPF 峰会上两个相关会议。Puranjay Mohan 分享了 RCU 性能优化工作——源于与 Paul McKenney 的交流,核心在于缩短 RCU 宽限期,使写者更快释放旧数据。Harry Yoo 和 Alexei Starovoitov 则介绍了新的 kmalloc_nolock() 函数,允许在任意内核上下文中进行无锁内存分配,该机制与 RCU 子系统深度协作来实现安全的延迟释放。文章以逆序编排两场会议,为读者提供更好的理解脉络。

Two LLM-assisted memory-management patch sets 💬 22 · By Jonathan Corbet

Rik van Riel 提交了一个 40 部分的补丁集,目标是实现可靠的 1GB PUD 级大页分配。当前内核中可靠获取 1GB 大页的唯一方式是使用 hugetlbfs 在启动时预留内存,但该机制缺乏灵活性——预留页无法挪作他用,也无法动态追加。该补丁集试图在运行时可靠地分配连续 1GB 物理内存区域。值得注意的是,这一工作涉及 LLM 辅助开发,引发了社区关于 AI 在内核开发中应用方式和边界的讨论。

💬 热点讨论

以下文章评论数较高(≥18),反映社区关注焦点:

负目录项的失控增长问题引发热议,涉及软锁定、引用计数溢出、哈希链退化等实际生产问题。

RCU 宽限期优化与 kmalloc_nolock() 的设计引发社区对内核并发基础设施演进方向的讨论。

LLM 辅助生成的内核补丁——1GB 大页可靠分配——触发了关于 AI 参与内核开发方式、代码质量、审查负担等话题的广泛讨论。

内核加密框架的简化改造获得积极反馈,库 API 替代传统 crypto API 的方向受到社区认可。