据 The New Stack 10 月 14 日报道,Linux 创始人、长期主维护者林纳斯·托瓦兹(Linus Torvalds)使用 Anthropic 的 Claude Code,处理一个困扰开发者两年多的内核性能问题。他在周二提交了一个 10 补丁系列。据该报道,这个系列在托瓦兹的 Ryzen Threadripper 上所做的合成基准测试中,把读取吞吐提高了 23 倍。报道同时写道,内核审查者在任何改动合入之前就发现了竞态。
据 The New Stack,这个瓶颈出在页缓存的引用计数。2024 年,Oracle 工程师 Matthew Wilcox 在一个客户负载里注意到它。报道称,Wilcox 长期参与 Linux 内核的内存管理开发。
争用在笔记本上已经非常集中。据 Hardware Busters,并经 The New Stack 引述:在托瓦兹的 Core i7-8565U 上做 8 线程测试时,folio 引用计数争用占跨核 load HITM 的 99.92%。
托瓦兹自己的旧修复也并不可靠。据 The New Stack,他花了 18 个月,一直在运行自己那一版有缺陷的页缓存引用计数修复;其他开发者在各自的做法里同样碰到了问题。
新补丁在常见的缓冲读取路径上去掉了 folio 引用计数操作。托瓦兹警告,基准测试里看到的收益,放到真实负载上会小得多。
实验分支比这组 10 补丁更早出现。Phoronix 的 Michael Larabel 周日在托瓦兹的代码树里发现一条名为 noref-filemap-read-with-llm 的实验分支。The New Stack 称,这棵树很少放进主开发分支以外的内容。该 8 补丁系列基于 Linux 7.3-rc6,并附有一份说明,交代 Claude Code 做了什么。
审查者随后指出存在竞态条件,并对内存回收提出疑虑。托瓦兹已经把后续开发交给 Linux 内核开发者 Kiryl Shutsemau。据 The New Stack,Shutsemau 此前研究过同一个瓶颈。