Linus 用 Claude Code 改 Linux 内核,大神也没兜住代码里的 Bug

资讯 InfoQ 作者:Tina 全文 3029 字 · 约 8 分钟读完 配图 4 张 分类ClaudeAnthropic

这再次证明,人类代码审查依然是不可或缺的最终防线。

所属频道 大厂动态Claude 与 Anthropic

Linus Torvalds 使用 Claude Code 编写 Linux 页面缓存修复补丁,在一项基准测试中将读取吞吐量提升了 23 倍。不过,补丁尚未合入,人类内核审查者就凭借专业直觉,揪出了连 AI 和大神都没能发现的 bug。这再次证明,人类代码审查依然是不可或缺的最终防线。

Linux 的创造者、长期担任首席维护者的 Linus Torvalds 借助 Anthropic 的 Claude Code,着手解决一个困扰开发者两年多的内核性能问题。

周二,他提交了一组包含 10 个补丁的系列。在 Ryzen Threadripper 上运行的合成基准测试中,这组补丁将读取吞吐量提升了 23 倍。

Torvalds 曾花 18 个月运行自己编写的一版有缺陷的修复代码,试图解决页面缓存中的引用计数瓶颈;其他开发者提出的方案也遇到了问题。新补丁从常见的缓冲读取路径中移除了 folio 引用计数操作。不过,Torvalds 提醒说,在真实工作负载中,性能提升会小得多。

在后续审查中,维护者发现补丁存在一个竞争条件。

Kiryl Shutsemau 指出,在 filemap_read_rcu_batch() 中,如果 folio 被替换后文件大小(i_size)又随之扩展,读取路径就可能把文件中尚未写入的数据返回给用户程序。审查者也对补丁的内存回收机制提出质疑。Torvalds 已将后续开发工作交给 Shutsemau;他此前也研究过这个瓶颈。

用更通俗的话说,读取文件时,内核负责保存这段数据的内存页刚好被换掉,文件大小又紧接着扩展。两件事交错发生后,读取代码可能把文件中新扩出的、实际还没写入内容的部分,当成有效数据交给应用程序。只有这些操作恰好按这个顺序撞在一起时,问题才会出现。

这种由于多线程并发时序不当而导致程序可能产生错误行为的竞争条件,本身就是一种经典的软件 bug。

据 Hardware Busters 报道,在 Torvalds 的 Core i7-8565U 笔记本电脑上进行的 8 线程测试中,跨核加载 HITM 事件里有 99.92% 与 folio 引用计数争用有关。这个瓶颈于 2024 年由 Oracle 工程师 Matthew Wilcox 提出。他长期参与 Linux 内核内存管理开发;问题是在一个客户的工作负载中暴露出来的。

Claude Code 编写补丁

此前,Linux 创始人 Linus Torvalds 曾公开痛批过那些夸大 AI 作用的言论。他当时直言:“每当我看到有人吹嘘‘我们 99% 的代码都是 AI 写的’,我真的会生气。因为我敢打包票,这帮人的代码 100% 都是靠编译器生成的,但他们却从来不这么说。”

然而有趣的是,这位对 AI 泡沫保持高度清醒的开源教主,最近自己也开始动手做实验了。

周日,Phoronix 的 Michael Larabel 发现 Torvalds 的代码树中出现了一个名为 noref-filemap-read-with-llm 的实验分支。要知道,Torvalds 的代码树里极少保留主开发分支(Mainline)以外的内容。

这组基于 Linux 7.3-rc6 的补丁一共包含 8 个提交(Commits),并在提交记录中坦白、清晰地标注了 Anthropic 旗下的开发者工具 Claude Code 参与的具体工作。

Linus 用 Claude Code 改 Linux 内核,大神也没兜住代码里的 Bug(配图 1)

根据 Torvalds 的说法,这组补丁的代码、测试程序,甚至提交前的初步审查工作,都是 Claude Code 在他的指导下完成的。性能测量则由他在自己的机器上进行。

也就是说,尽管这组补丁在提交前通过了 AI 的自查与审查,但其中隐藏的竞争条件 Bug,最终依然是在合入主分支前,被社区里的人类维护者给揪了出来。

Linus 用 Claude Code 改 Linux 内核,大神也没兜住代码里的 Bug(配图 2)

这组补丁解决的是一个棘手的内核并发问题。

此前的优化方案试图在“不持有 folio 引用”的情况下直接复制数据,并在复制完成后再检查数据的有效性。但这种做法留下了隐患,极易在内存回收和替换操作时触发竞争条件(Race Condition)。

为了彻底解决这个漏洞,后续演进的 rcu-free-v3 系列(共包含 10 个补丁)引入了全新的 PG_rcu_free 标志和 RCU 延迟回收机制。只要数据复制过程中没有触发缺页异常,该机制就能在数据向用户空间复制期间,为 folio 提供极其安全的保护。

在 Claude Code 的协助下,这组补丁展现出了令人惊叹的性能优化幅度。

  • 在 Linus 的笔记本上(8 线程测试): 最初的 8 个补丁几乎让吞吐量飙升至原来的 3 倍(从每秒 1000 万次读取提高到最高 3300 万次),每次读取消耗的内核周期也从约 2950 降至 725。

  • 在 64 线程 Threadripper 上(严重争用测试): 吞吐量从每秒 1330 万次读取跃升至 3.04 亿次,每次读取消耗的 CPU 周期更是从近 2 万骤降至 735。

然而,如此激进的性能提升并非没有代价。

第一版实现中的延迟回收机制,会在某个 CPU 排队等待的页面超过 1024 个时强制触发一次加速宽限期。Hardware Busters 对此作了报道。向尚未映射的用户页面读取数据时,也会额外触发一次缺页异常,然后才回退到现有路径。这使得单线程读取 16 字节数据的开销从约 4150 个周期升至 6550 个周期。目前还不清楚这一性能退化是否会在 rcu-free-v3 中继续存在。

大佬过招:内存回收设计的交锋

Wilcox 对新的 PG_rcu_free 标志提出质疑,建议改用页面类型,并在 RCU 宽限期过后回收不活跃链表中的 folio。

Torvalds 否决了这两种方案。他认为,必须趁 folio 仍可映射到用户空间时设置该标志;而只从不活跃链表回收 folio,则无法覆盖 truncate 和打洞操作。随后,Shutsemau 建议将该标志限制在 64 位系统上。Arm 工程师、Linux 内存管理维护者 David Hildenbrand 支持这一方案。

而在关键函数 filemap_read_rcu_batch() 中,Shutsemau 进一步拆解了他发现的那个竞争条件(Race Condition)隐患:

在无引用的 RCU 读取路径中,原补丁的逻辑是先获取当前的 folio,然后再去读取文件的大小(i_size)。

Shutsemau 指出,这里存在一个致命的时间差:当一个旧的 folio 被驱逐并替换为一个全新的 folio 后,如果另一个进程恰好在此时扩展了文件大小(i_size)。此时,读取路径依然在使用已经被替换掉的旧 folio 的快照信息,但在计算读取边界时,却采用了新扩展出来的 i_size。这就导致读取代码会错误地“越界”读到该文件新扩展出的、实际在磁盘和内存中都尚未写入有效数据的空白区域,直接将“尚未写入的数据”返回给了用户程序。

为了消除这一时序隐患,Torvalds 提出了明确的重构方向:必须改变执行顺序,将文件大小(i_size)的读取操作提前,并在随后将 folio 的有效性检查与边界逻辑进行合并合并。Shutsemau 随后完全采纳了这一改进思路,并将这一逻辑顺利纳入了修订版补丁中。

参考链接:

本文由本站编辑组整理与排版,内容基于公开信息核实后归纳发布,与文中提及的产品、公司无隶属关系。我们持续跟踪 AI 领域的模型、产品与行业动态,力求信息准确、表述清晰;文中涉及的名称、价格与功能细节可能随官方调整而变化,请以官方最新说明为准。如发现疏漏或表述有误,欢迎通过站内渠道反馈指正。

相关推荐 按相关度与热度排序

全部资讯 →
  1. Linus用Claude Code改内核:23倍提速补丁被人类审查揪出Bug

    编译 | TinaLinus Torvalds 使用 Claude Code 编写 Linux 页面缓存修复补丁,在一项基准测试中将读取吞吐量提升了 23 倍。不过,补丁尚未合入,人类内核审查者就凭借专业直觉,揪出了连 AI 和大神都没能发现的 bug。这再次证明,人类代码审查依然是不可或缺的最终防线。Linux 的创

    来源 腾讯网
  2. Claude Code两位核心成员离职,微软Meta同步收缩内部用量

    (本文作者为 奇点湃,钛媒体经授权发布)文 | 奇点湃10月24日,45分钟之内,Claude Code 最知名的两位成员在 X 上先后官宣离职。一位是 Thariq Shihipar,Claude Code 团队的核心工程师,被开发者社区称作「解释之王」,skills 系统和上下文工程都和他有关。另一位是 Antho

    来源 腾讯网
  3. Claude Code封号不退费:中国开发者贡献的5%收入有多“脏”?

    锣鼓喧天、AI hype 拉满的这一年,终于等来 Anthropic 的招股书。招股书里最核心的增长引擎是 Claude Code:头部企业客户每月支出是普通用户的 20 倍,9 月 Anthropic 代码库 90% 以上的代码由它写出。 但同一份文件承认,5% 到 7% 的收入来自“违反使用规定”的客户。按前三季度

    来源 AI 行业观察
  4. 托瓦兹首推 Claude Code 辅助补丁:并发读文件快 3 倍

    科技媒体 lwn 报道,Linux 之父林纳斯·托瓦兹在其个人 Git 仓库里推了一个名为 noref-filemap-read-with-llm 的新分支,正式交出了他首个由大语言模型辅助开发的内核补丁系列。这位平时只在 master 分支上维护代码的开发者,罕见地开了带"llm"后缀的实验分支,而幕后帮手正是 An

    来源 AI 开发者社区
  5. Claude Code一天失两将:解释之王与桌面版创造者同日离职

    家人们,AI 圈最近的瓜,是一个接一个。今天,Anthropic最当红的产品Claude Code,一天之内痛失两员大将:一个是被开发者社区尊称「解释之王」的Thariq Shihipar,另一个是Claude Code桌面版的创造者Anthony Morris。中午前后,Thariq Shihipar在X上发了一封长

    来源 腾讯网
  6. Claude攻下123个开源库:1.8亿行数学证明揪出隐藏Bug

    新智元报道 全球软件的bug,要被Claude端掉了?短短48小时,全球就爆了27起重大网络攻击,现在人们都在疯传,「最暗十月」来了。一早,Anthropic前沿红队团队联手Theorem Labs发布了一份重量级报告——他们让Claude深入到底层汇编指令(RISC-V),向真实的生产级开源代码库发起总攻。短短几周,

    来源 腾讯网
  7. 崔添翼谈DeepSeek Harness加Claude Code Mods兼容:图什么?

    感谢IT之家网友 Domado 的线索投递! DeepSeek Harness 组成员崔添翼今日回应了“如何看待 DeepSeek Harness 在新版本中加入 Claude Code Mods 兼容?”,他本人是这次 v0.2.1-alpha.1 版本中加入 Claude Code Mods 兼容层的作者。 目前

    来源 AI 开发者社区
  8. Claude Code松口支持AGENTS.md,团队称静态指令文件终将消失

    一个多月前,Claude Code 因拒绝兼容已被大量项目和 Coding Agent 采用的行业标准 AGENTS.md,遭到 Shopify CEO Tobi Lütke 的公开“封杀”警告。Anthropic 当时坚持,不同模型需要不同的上下文和指令,开发者却质疑,这等于逼着团队为每个模型维护一套配置。如今,Cl

    来源 AI 行业观察
  9. Claude Code「自产自审」:九成代码不再经过人类

    新智元报道 你可能不信,Claude Code 现在差不多 90% 的代码,是 Claude 自己敲的。你要是写代码的,第一反应估计跟很多人一样,那谁审?答案是,大部分也是 AI。而且你猜怎么着,6 月到 9 月,Claude Code 合进去的 PR 翻了一倍多,要回滚的反倒少了四成多。中间还闹过一出,俩 AI 互相

    来源 腾讯网
  10. ColGrep-Agent-2B:本地20亿参数模型替Claude Code搜代码,省Token

    LightOn AI 开源了一个 20 亿参数的本地代码搜索智能体 ColGrep-Agent-2B。把它插到 Claude Code 前面当「搜索外包」,在 52 个跨仓库代码定位问题上,API Token 消耗降低了 34%,缓存感知成本下降 40%,而准确率没有明显变化。文章介绍了安装使用方法、与更大模型的对比、

    来源 AI 应用前沿
  11. Anthropic:Claude自写Claude Code九成代码

    本期速报关注几个值得留意的动向。Anthropic披露Claude Code约90%的代码由Claude自己编写,合并PR数量翻倍,回退比例下降超40%,AI原生研发流程正在走向成熟。Voxel51发布3.0版,把多模态数据的搜索、标注和评估整合到一个平台里,新增45个以上MCP工具。微软推出面向法律行业的Copilo

    来源 AI 应用前沿
  12. Gemini 4 Argon 安卓编程榜排第五:通过率21.3%,落后Claude与GPT

    IT之家 10 月 28 日消息,谷歌更新了用于评估 AI 模型安卓编程辅助能力的 Android Bench 榜单,Gemini 4 Argon 的成绩大幅落后于最新版 Claude 与 GPT 系列模型。 Android Bench 于今年年初推出,方便安卓开发者快速对照谷歌的这套测试标准,挑选最适合安卓代码开发辅

    来源 AI 行业观察
向下滚动自动加载更多