Torvalds 使用 Claude Code 编写 Linux 内核补丁
ZDNET AI··作者 Steven Vaughan-Nichols
关键信息
在 Torvalds 的测试中,八线程吞吐量从约每秒 990 万至 1040 万次读取提高到 3000 万至 3300 万次读取,而每次读取的内核周期数从约 2950 降至 725。该方案会将内存复用推迟到 RCU 宽限期结束后,因此带来内存回收方面的权衡;截至 10 月 13 日,它尚未进入主线 Linux 7.3-rc6。
资讯摘要
Linus Torvalds 透露,他使用 Anthropic 的 Claude Code 协助制作了一组新的 Linux 内核补丁。他表示,代码、测试程序、审查工作以及配套说明的初稿都由 Claude Code 在他的指导下完成。补丁针对 Linux 页面缓存中的争用问题,页面缓存负责将文件数据保存在内存中。当多个线程反复从同一个缓存文件中进行小型读取时,用于支持这些数据的 folio 引用计数需要对共享缓存行执行原子写入,导致处理器核心相互争抢。
在一次测试中,八个线程在四核心、八线程的 Intel Core i7-8565U 笔记本上对同一页面执行 16 字节的 pread() 读取,该共享缓存行占测得跨核心 HITM 负载的 99.92%。补丁建议在从页面缓存移除内存后,等待一个 RCU 宽限期再重新利用这些内存,使受 RCU 保护的读取路径能够直接复制数据而无需获取 folio 引用。在这一特定工作负载中,吞吐量大约提高了三倍,但内存回收问题仍未解决,而且读取尚未映射的用户页面时还会出现性能退化。

资讯正文
ZDNET 的要点
- Torvalds 刚刚发布了一组补丁,其中大部分代码由 Anthropic 的 Claude Code 编写。
- 这些新补丁解决了一个尚未解决的问题:使用多个核心和处理器时,内存缓存会出现性能下降。
- Linus Torvalds 一直越来越倾向于认可 AI,而这次则是他在 Linux 开发中拥抱 AI 的最后一步。
这一天终究还是来了。Linus Torvalds 向全世界宣布,他使用了 AI 为 Linux 内核编写代码。谁能想到呢?至少我想到了。在过去几年里,我看到 Torvalds 的态度从怀疑逐渐转变为认为 AI 是程序员和维护者的有用工具。
他在 Git 提交中写道:“上文所列的代码、测试程序、评审工作,以及本文初稿,都是在我的指导下,使用 LLM 编程助手 Claude Code 完成的。”
应对共享内存瓶颈
具体来说,这项修复针对的是 Linux 页缓存中的竞争问题。页缓存负责将文件数据保存在内存中。当多个线程反复从同一个缓存文件中读取少量数据时,它们会获取并释放承载这些数据的 folio 的引用。这些引用计数更新需要对共享缓存行执行原子写入,进而迫使处理器核心争夺该缓存行。
听起来似乎没什么大不了,对吧?错了。在某些工作负载下,这确实会严重拖慢速度。Torvalds 发现,当 8 个线程在一台配备四核八线程 Intel Core i7-8565U 的笔记本电脑上,针对同一页面发起 16 字节的 pread() 调用时,根据“修改状态缓存行命中”(HITM)指标,共享缓存行占测得的跨核心负载的 99.92%。这会显著降低处理速度。
这不只是 Linus 为了满足个人需求而进行的修复。这个问题自 2024 年以来就已广为人知。不过,此前解决它的尝试都没有成功。
Torvalds 和 Claude Code 提出的补丁改变了内核重新利用从页缓存中移除的内存的时机。补丁不再立即将这部分内存交还给分配器,而是延迟到一个读-复制-更新(RCU)宽限期结束后再重新利用。这样一来,受 RCU 读侧临界区保护的读取者就可以直接将数据复制到用户缓冲区,而无需获取 folio 引用。
这种方法以延迟立即回收内存为代价,换来了无需反复更新共享引用计数器的读取路径。在这一特定测试中,报告的性能提升相当可观。八线程吞吐量从每秒约 990 万至 1040 万次读取提升至 3000 万至 3300 万次,而每次读取所需的内核周期则从约 2950 降至 725。单线程读取的提升较为温和,从每次读取约 452 至 454 个周期改善至 408 至 409 个周期。Torvalds 在拉取请求(PR)中补充道:“CPU 数量更多,或拥有多个插槽的机器,收益应该会更大;目前还没有测量过规模更大的情况。”
这并不意味着 Linux 整体运行速度提高了三倍。当然不是!这只是特定小规模读取工作负载下的实验结果,测试使用的是 Torvalds 的个人笔记本电脑;他当时带着这台电脑在布拉格参加 Linux Plumbers 大会。
更快的读取,尚未完成的内存管理
但这并不意味着 Torvalds 和 Claude Code 已经解决了这个问题。我们距离能够这样说还很遥远。性能提升伴随着工程上的权衡。延迟内存重用意味着,在内核等待 RCU 宽限期期间,这些页面可能会一直无法使用。在 Git 提交中,Torvalds 将这一回收问题描述为“这一系列工作中解决得最不充分的部分”。
当读取操作针对的是一个尚未映射的用户页面时,还会出现性能回归。新的路径在回退到现有实现之前,会额外触发一次失败的异常。截至 10 月 13 日,该分支仍未进入主线 Linux 7.3-rc6。它最终是否会被合并,以及何时合并,仍没有定论。
从对 AI 持怀疑态度到亲自使用
Torvalds 决定使用 Claude Code,反映了他对 AI 态度的长期转变。这并不是一次从反对到支持的简单逆转。
2023 年 12 月,他曾将 AI 描述为开发者可能借助的一种工具,并表示:“我认为 AI 是一种能够帮助我们把工作做得更好的工具。”当时,他对 AI 的兴趣主要集中在如何帮助发现漏洞,而不是编写代码。那时没人认真考虑过用 AI 来编写严肃的程序(如今看来很难相信)。
到 2025 年底,Torvalds 称自己“非常相信 AI 是一种工具”,并表示他感兴趣的不只是发现漏洞,还包括维护代码和审查补丁。为 Linux 生成新的严肃代码在很大程度上仍未被考虑。不过,2026 年 1 月,他开始在一个业余项目中尝试使用 AI 辅助为 Python 音频可视化工具编写代码。
据报道,他于 10 月 9 日在布拉格举行的 Open Source Summit Europe 上与 Dirk Hohndel 交谈时发表的最新言论,态度更加积极。
Torvalds 说:“我过去认为它只是做得不太好——但现在我已经到了真正喜欢使用 AI 的阶段。我认为,如果正确使用 AI,并把它当作工具,那么它就是一种非常棒的工具;我发现它让编程变得更加愉快。”
即便如此,他仍提醒道:“我认为,当你在做一些真正重要的事情时,使用 AI 必须非常谨慎。”很难找到比 Linux 更加真实且重要的事情了。
这项页面缓存实验展现了他立场的两个方面。Claude Code 帮助生成了内核代码、测试和审查材料。最终的分支显示出令人期待的基准测试性能提升,但也暴露出尚未解决的内存回收问题和性能回归;在这些问题得到处理之前,这项实验还无法成为生产级内核代码。
不过,我们已经迎来了一个转折点。Torvalds 可以说是世界上最重要的开发者和维护者,如今他正在使用 AI 开发新的 Linux 内核代码。即使在一年前,这仍然是不可想象的事情;而直到现在,仍有一些人难以想象 AI 能够为 Linux 或任何其他重要程序添加新代码。
来源与参考
收录于 2026-10-14