网易首页 > 网易号 > 正文 申请入驻

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

0
分享至


整理 | Tina

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 参与的具体工作。


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

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


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

此前的优化方案试图在“不持有 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 随后完全采纳了这一改进思路,并将这一逻辑顺利纳入了修订版补丁中。

https://www.phoronix.com/news/Linus-Torvalds-Claude-Code

https://thenewstack.io/torvalds-claude-code-kernel/

声明:本文为 InfoQ 原创,不代表平台观点,也不构成投资建议,未经许可禁止转载。

会议推荐

QCon 全球软件开发大会·2026(上海站)将于 10 月 22 日—24 日举办。本届大会聚焦 Harness AI 时代的工程实践,从「构建 AI」到「驾驭 AI」,围绕 AI Native 架构、Agent Runtime、AI Infra、Agent 安全与可观测、Loop Engineering、具身智能与世界模型 等热门技术方向,邀请全球技术社区与产业一线实践者,共同分享 AI Native 时代最具价值的工程经验。查看更多详情可扫码或联系票务经理 18514549229 进行咨询。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
女子用酒店免费矿泉水给2岁宝宝泡奶 事后发现瓶底竟有带锈迹的针孔!

女子用酒店免费矿泉水给2岁宝宝泡奶 事后发现瓶底竟有带锈迹的针孔!

闪电新闻
2026-10-21 17:30:04
前巴萨主席候选人弗雷夏:皇马的问题就是巴萨,巴萨明显更强

前巴萨主席候选人弗雷夏:皇马的问题就是巴萨,巴萨明显更强

懂球帝
2026-10-22 18:18:28
养老金巨大争议!足额缴费指数不到1,没缴费工龄指数却达到1.8

养老金巨大争议!足额缴费指数不到1,没缴费工龄指数却达到1.8

白米饭怎么吃
2026-07-29 09:54:39
10月22日亚锦赛决赛大战!国乒12人20场对决,日乒是夺冠最大对手

10月22日亚锦赛决赛大战!国乒12人20场对决,日乒是夺冠最大对手

而长终
2026-10-22 16:24:52
A股:大家要做好心理预期,若无意外,21年的行情或将再一次重演?

A股:大家要做好心理预期,若无意外,21年的行情或将再一次重演?

财经大拿
2026-10-22 06:05:10
香菜成为焦点!调查发现:经常吃香菜的人,一段时间后或有5变化

香菜成为焦点!调查发现:经常吃香菜的人,一段时间后或有5变化

医学原创故事会
2026-10-14 19:30:11
舒淇家宴炸出半个华语圈:褪去星光,老友闲谈最动人

舒淇家宴炸出半个华语圈:褪去星光,老友闲谈最动人

做一个合格的吃瓜群众
2026-10-20 11:30:08
杨超越在工厂打工时候的照片曝光!网友炸了:这妥妥的厂花啊!

杨超越在工厂打工时候的照片曝光!网友炸了:这妥妥的厂花啊!

黎兜兜
2026-08-25 22:25:21
越南高层至今想不通:中国28天横扫越北,为何兵临河内却主动撤军?

越南高层至今想不通:中国28天横扫越北,为何兵临河内却主动撤军?

纪史行者
2026-10-22 00:20:03
车间实拍流出!特斯拉Roadster高压氮气罐引争议,网友:这要炸了,不死也得死啊

车间实拍流出!特斯拉Roadster高压氮气罐引争议,网友:这要炸了,不死也得死啊

火山詩话
2026-10-20 17:01:23
将来谁会毁灭日本?将来能够毁灭日本的,不是英国,不是美国,也不是中国,而是躲无可躲的火山爆发和地震。

将来谁会毁灭日本?将来能够毁灭日本的,不是英国,不是美国,也不是中国,而是躲无可躲的火山爆发和地震。

回京历史梦
2026-10-22 09:10:31
河南74岁农民大叔手写招牌走红:卖半辈子卤肉,练50载书法,把烟火日子过成了诗,“生活与梦想,一个都没落下”

河南74岁农民大叔手写招牌走红:卖半辈子卤肉,练50载书法,把烟火日子过成了诗,“生活与梦想,一个都没落下”

极目新闻
2026-10-22 11:06:10
这很科学:89%的人幻想过同时和多人发生性行为,算精神出轨吗?

这很科学:89%的人幻想过同时和多人发生性行为,算精神出轨吗?

宇宙时空
2026-05-26 18:20:10
伦敦人开始骑 "电驴" 上班了!1000 英镑一辆,来自中国

伦敦人开始骑 "电驴" 上班了!1000 英镑一辆,来自中国

西楼知趣杂谈
2026-10-16 15:09:06
细思极恐!83岁老太发现家里住着15个陌生人,儿子赶回来后汗毛倒竖:他们竟都在墙上!

细思极恐!83岁老太发现家里住着15个陌生人,儿子赶回来后汗毛倒竖:他们竟都在墙上!

徐德文科学频道
2026-10-22 00:19:27
女演员真的别瞎去整容!看《醉梦》里刘诗诗和黄小蕾同框,俩人的状态差距一眼就看穿

女演员真的别瞎去整容!看《醉梦》里刘诗诗和黄小蕾同框,俩人的状态差距一眼就看穿

动物奇奇怪怪
2026-10-21 13:03:39
乌姆蒂蒂:这已经不是我们三年前见过的维尼修斯了

乌姆蒂蒂:这已经不是我们三年前见过的维尼修斯了

懂球帝
2026-10-22 17:14:12
赢了所有比赛,却可能留不下?林诗栋被调侃去德国,饭圈才是推手

赢了所有比赛,却可能留不下?林诗栋被调侃去德国,饭圈才是推手

曹老师评球
2026-09-28 20:38:42
有些人是如何在一天内毁掉自己的一生的?网友:都是命啊

有些人是如何在一天内毁掉自己的一生的?网友:都是命啊

康富贵碎碎念
2026-07-21 13:13:11
芭莎预热修罗场:白鹿开场、杨幂压轴,85/90/95 三代花同台,高定还要自费卷?

芭莎预热修罗场:白鹿开场、杨幂压轴,85/90/95 三代花同台,高定还要自费卷?

8号风曝
2026-10-21 16:40:10
2026-10-22 18:36:49
InfoQ incentive-icons
InfoQ
有内容的技术社区媒体
13102文章数 52116关注度
往期回顾 全部

科技要闻

腾讯云谷歌紧急行动!互联网安全出大事

头条要闻

中方回应所谓"胡塞武装用中国零件制造导弹":抹黑造谣

头条要闻

中方回应所谓"胡塞武装用中国零件制造导弹":抹黑造谣

体育要闻

卢卡:伦德伯格,欢迎来到NBA

娱乐要闻

芭莎盛典,张小斐因救场实现口碑暴涨

财经要闻

数据中心建设延期潮 谁受伤、谁受益?

汽车要闻

有七座/续航提升 领克900L曝光还可选双色车身+大饼轮毂

态度原创

房产
健康
亲子
教育
数码

房产要闻

租金大跳水!荒了6年,海口这个地标商业,开始急了!

痘痘能根治吗?皮肤科医生说实话

亲子要闻

孩子容易过敏,记好这四点!

教育要闻

大数求解化,换元法真的很好用

数码要闻

华硕灵耀14 2026好价:英特尔第三代酷睿Ultra 7,29.6小时长续航

无障碍浏览 进入关怀版