林纳斯·托瓦兹现在正在使用AI开发Linux内核代码
ZDNET的关键 takeaway 托瓦兹刚刚发布了一组补丁,主要是由Anthropic的Claude Code编写的。这些新补丁解决了在使用多个核心和处理器时未解决的内存缓存减速问题。林纳斯·托瓦兹一直在越来越倾向于支持AI,而这是他在Linux开发中拥抱AI的最后一步。这是必然发生的。林纳斯·托瓦兹向世界宣布他使用AI为Linux内核编写代码。谁会想到呢?我就一个。 在过去的几年里,我看到托瓦兹的态度从怀疑转变为将AI视为程序员和维护者的有用工具。在他的Git提交中,他写道:“上面列表中的代码、测试程序、审核以及这段文字的初稿都是在我的指导下,由一个大型语言模型编码助手(Claude Code)完成的。”另外:‘我用AI做我不擅长的事情’:林纳斯·托瓦兹谈为何这对他有效 ZDNET的更多内容 解决共享内存瓶颈 具体而言,该修复解决了Linux页面缓存中的争用问题,页面缓存将在内存中保存文件数据。当几个线程反复从同一个缓存文件中读取小量数据时,他们会获取并释放对存储该数据的folio的引用。这些引用计数更新需要对共享缓存行进行原子写操作。这反过来又会迫使处理器核心对此进行竞争。听起来似乎不是一个大问题,对吧?错了。在某些工作负载中,它确实会显著减慢速度。托瓦兹发现,当八个线程在四核八线程的Intel Core i7-8565U笔记本上的同一页面上发出16字节的pread()调用时,Hit in Modified cache line(HITMs)显示共享缓存行占据测量的跨核心负载的99.92%。这会显著减慢工作速度。这不仅是林纳斯个人的需求。这是自2024年以来就已知的问题。然而,早期的修复尝试无果而终。托瓦兹和Claude Code提出的补丁改变了内核何时可以重用从页面缓存中删除的内存。补丁推迟了重用,直到经过读复制更新(RCU)宽限期。这允许受到RCU读侧部分保护的读者将数据直接复制到用户缓冲区,而不必获取folio的引用。另外:有人制作了一个免费的Photoshop克隆 – 所以我不得不在Linux上试用它 这种方法以延迟内存回收为代价,换取避免重复更新共享引用计数的读取路径。在该特定测试中报告的性能提升是显著的。八线程的吞吐量从大约990-1040万次读取每秒提高到3000-3300万次,而每读取的内核周期从大约2950减少到725。单线程读取的改善相对温和,从每次读取约452-454个周期改善到408-409个周期。托瓦兹在他的拉取请求(PR)中补充说:“拥有更多CPU或多个插槽的机器应该会获得更多收益;没有测量出更大的系统。”这并不意味着Linux整体速度快了三倍。根本不是! 相反,这描述了在托瓦兹个人笔记本上进行的特定小读取工作负载的实验结果,他在Linux Plumbers期间在布拉格携带了该笔记本。更快的读取,未完成的内存管理 这并不意味着托瓦兹和Claude Code已经解决了这个问题。我们远未能够说出这一点。性能提升伴随着工程权衡。延迟内存重用意味着在内核等待RCU宽限期时,页面可能保持不可用。在他的Git提交中,托瓦兹将这一回收问题描述为“该系列中解决得最少的部分。”另外:我已经使用Ubuntu 22年 – 而26.10可能是其最佳版本 还存在回归问题,当读取目标是尚未映射的用户页面时。新路径在回退到现有实现之前会引发额外的失败异常。截止10月13日,该分支仍处于主线Linux 7.3-rc6之外。它是否会被合并,以及是什么时间表,仍然悬而未决。 从对AI的怀疑到动手使用 托瓦兹决定使用Claude Code反映了他对AI态度的长期演变。这并不是从反对到支持的简单反转。2023年12月,他将AI描述为对开发者的潜在帮助,说:“我将AI视为可以帮助我们在工作中表现更好的工具。”当时,他对AI的兴趣主要集中在它如何帮助识别bug,而不是编写代码。没有人认真考虑使用AI编写严肃程序(现在很难相信)。到2025年末,托瓦兹自称为“AI作为工具的坚定信仰者”,并表示他不仅对发现bug感兴趣,还对维护代码和审核补丁感兴趣。为Linux生成新的、严肃的代码仍然在很大程度上被搁置。尽管如此,在2026年1月,他开始在一个爱好项目中尝试AI辅助编程,为一个Python音频可视化程序。
本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。
☕请我喝杯咖啡