
Linux 创始人 Linus Torvalds 在其 Linux 内核代码仓库中公开了一组借助 Claude Code 开发的实验性补丁,共包含 8 个补丁,主要用于优化 Linux 页缓存(Page Cache)的并发读取性能。

2026 年 10 月 10 日,Torvalds 在提交说明中明确表示,这批代码、测试程序、已知问题列表的审查工作,以及提交说明的初稿,均借助 Claude Code 在他的指导下完成,相关性能测量则在他的电脑上进行。实验分支名为 noref-filemap-read-with-llm。

此次优化针对 Linux 内核长期存在的一项性能瓶颈。
当多个线程同时从同一个文件读取少量数据时,内核需要反复更新内存页的引用计数,容易造成处理器核心之间的竞争。
这一问题早在 2024 年就由 Linux 内核开发者 Matthew Wilcox 根据客户实际工作负载提出。
新方案通过 RCU(读取—复制—更新)机制延迟释放已经移出页缓存的内存页,确保读取期间相关内存不会被重新分配。在满足特定条件时,内核可以跳过内存页引用计数操作,直接从页缓存读取数据,从而降低并发访问开销。
Torvalds 公布的测试数据显示,在一台配备 Intel Core i7-8565U 处理器(4 核 8 线程)的笔记本电脑上,使用 8 个线程并发读取同一个单页文件、每次读取 16 字节时,吞吐量由每秒约 990 万至 1040 万次提升至 3000 万至 3300 万次,达到原来的约 3 倍。
每次读取的内核 CPU 周期由约 2937 至 2975 降至 725 至 726,减少约 75%。
不过,测试使用的是 ext4 文件系统,并关闭了安全缓解措施及 CONFIG_HARDENED_USERCOPY 配置。
Torvalds 指出,其笔记本电脑存在温度限制导致的降频问题,因此每次读取的 CPU 周期开销比每秒读取次数更适合用于性能比较。上述结果仅适用于特定测试负载,不能代表 Linux 整体文件读取性能达到原来的 3 倍。
新方案也存在性能退化的情况。
例如,当读取操作访问的目标用户内存页尚未映射、需要处理缺页异常时,在单线程读取 16 字节的测试中,每次读取的内核 CPU 周期由原来的约 4117 至 4188 增加至 6543 至 6593。
Torvalds 还列出了 10 项尚未解决或需要进一步审查的问题,包括内存页延迟回收带来的内存管理风险、连续内存分配功能的回归,以及部分硬件架构和内核配置尚未完成测试等。
其中,仅应用前 6 个补丁时,特定内存压力测试曾触发内存不足(OOM)问题,导致系统终止相关进程。加入第 7、第 8 个补丁后,相同测试得以完成,但延迟释放的内存页仍无法被内存分配器准确统计,相关风险尚未彻底消除。
目前,这 8 个补丁仍保留在独立实验分支中,尚未合并至 Linux 内核主线,也没有确定正式合并时间。
云头条声明:如以上内容有误或侵犯到你公司、机构、单位或个人权益,请联系我们说明理由,我们会配合,无条件删除处理。


网友留言2