技术解读 1天前 151 阅读 0 评论

Linus怒喷Google工程师:代码垃圾又迟交,别想轻易混进Linux!

作者头像
AI中国

AI技术专栏作家 | 发布了 246 篇文章

整理 | 苏宓

出品 | CSDN(ID:CSDNnews)

在科技圈里,Linux 之父 Linus Torvalds 的火爆脾气早就不是秘密,尤其是在涉及他亲手把控和维护的 Linux 项目时,更是毫不含糊。

最近,他又因为一次与 RISC-V 架构相关的代码更新,直接向一位 Google 工程师“开炮”,甚至当场把提交的部分代码批为“垃圾”,这番言论立刻在社区里掀起了不小的争议。

事情经过:RISC-V 代码更新被直接“打回”

事情是这样的:Google Android 团队的工程师 Palmer Dabbelt上周五向 Linux 6.17 的合并窗口提交了一批 RISC-V 架构更新功能,具体包括:

  • 在基于 ACPI 的系统中支持 RISC-V IOMMU

  • 支持 ACPI BGRT表,用于在开机阶段显示厂商 Logo。

  • 针对部分 T-Head 架构系统(包括 Sophgo SG2042T-Head TH1520)出现的存储缓冲区合并问题,提供errata(缺陷修正)规避方案。

  • 现在可以从 Device Tree读取MMU类型,以避免在某些系统上(如Nuclei UX900)通过 CSR 写操作探测 MMU 宽度时出现卡死的问题。

  • 支持 Xmipsexectl扩展(MIPS 架构版本的Zihintpause指令)。

  • 在支持 Zbb的系统上优化字节序交换例程性能,并在支持V 扩展的系统上提升RAID6性能。

  • 支持 kprobetrace

  • 为用户空间进程提供 CFI(控制流完整性)支持。

  • 支持 MPXYRPMI两个 SBI 扩展。

按理说,这些功能对 RISC-V 社区来说是好事,但 Linus 看了代码后直接拒绝,还加了一句——“这是垃圾,而且提交得太晚。”

为何会惹怒 Linus?

据悉,Palmer Dabbelt 是在上周五才将这批 RISC-V 代码更新提交到 Linux 6.17 的合并窗口,而该窗口预计会在周日随 6.17-rc1 发布一同关闭。这也让 Linus 直言——“提交太晚了”。

不过,惹他动怒的不仅是时间问题,更关键的是,他对其中部分代码的质量非常不满意。

Linus 在邮件列表中怒斥道:

不行。这是垃圾,而且提交得太晚。我之前就说过,因为我在旅行,希望大家提前提交合并请求。如果你做不到,至少也要确保请求质量足够高。

这里面加了一些根本不是 RISC-V 专属的“垃圾”到通用头文件里。

我说“垃圾”,是真的垃圾。这种东西没人该发给我,更别提是在合并窗口的最后时刻。

当然,Linus 的回应也并非只有恶意的指责。他列举了这部分代码中有关 RISC-V 拉取请求出错的一些例子。但即使在这个基本合情合理的回应中, Linus 还是忍不住又添了几句尖刻的言辞。他表示:

比如那个莫名其妙、毫无意义的 make_u32_from_two_u16辅助函数。

这种东西会让世界变得更糟。它是没用的垃圾,让代码的可读性变得糟糕透顶,还比不用这个“辅助函数”更差。

如果直接写成 (a ,你能一眼看出它的作用以及高位是哪一个。也许你需要加个类型转换来避免 b 的高位干扰结果,这可能不够美观,但至少既不会错,也不会让人看不懂。

反之,如果写成 make_u32_from_two_u16(a,b),你完全不知道字的顺序是什么。换句话说,你让事情变得更糟,而且还把这个“辅助函数”加到了非 RISC-V 的通用文件里,让其他人也可能用它把代码搞得更糟。

所以不行。这种东西必须去掉,不能进通用头文件,更不能在合并窗口末期出现。

提醒你们:不要再有迟到的合并请求,也不要在 RISC-V 树之外引入垃圾代码。

我希望 RISC-V 代码里本身没有垃圾,但那是你们自己的事。不过通用头文件不能被这些乱七八糟的东西污染。

而且,在合并窗口即将关闭前一天发个大请求,指望我太忙顾不上,这可不是好策略。

所以等到 6.18 再来吧,而且要在合并窗口早期提交,并且不要有垃圾。

对于 Linus 的指正,Palmer Dabbelt 随即回应道:“好的,抱歉。最近我一直没处理好工作,导致积压了很多任务,又接收了一堆晚提交的东西,但这只会让我犯更多错误。所以我会停止这种晚提交的情况,希望这也能改善质量问题。”

Linus 的“老毛病”又犯了?

其实,Linus 的直言不讳早已不是新闻。2018 年,他曾为多年来的“不当言辞”道歉,还宣布暂时休假,并让 Linux 内核项目引入了行为准则,学习如何更好地理解和回应他人情绪。

但该怼的时候,他依旧毫不手软,不管你来自哪家大厂。这次事件在社区里也引发讨论,有人调侃:

“看来他的治疗又遇到困难了。”

但不可否认,直言不讳、直接表达确实是一种高效的沟通方式——尤其是在有充分理由和建设性意见作支撑的情况下。正因此,也有人替他抱不平:

“他只是厌倦了一遍又一遍地向所谓的精英、年薪 35 万美元的开发者重复基本的编码规则。”

总之,这些 RISC-V 新功能只能等到 Linux v6.18再试,而且得在合并窗口早期提交,还不能带“垃圾”。简单来说,Linus 的底线依旧很清楚——代码可以迟一点改,但不能烂着交上来。

参考:

https://lore.kernel.org/lkml/CAHk-=wjLCqUUWd8DzG+xsOn-yVL0Q=O35U9D6j6=2DUWX52ghQ@mail.gmail.com/

https://www.tomshardware.com/software/linux/linus-torvalds-calls-risc-v-code-from-google-engineer-garbage-and-that-it-makes-the-world-actively-a-worse-place-to-live-linux-honcho-puts-dev-on-notice-for-late-submissions-too

2025 全球产品经理大会

8月15–16日·北京威斯汀酒店

互联网大厂&AI创业公司产品人齐聚

12 大专题,趋势洞察 × 实战拆解

扫码领取大会 PPT,抢占 AI 产品新红利

作者头像

AI前线

专注人工智能前沿技术报道,深入解析AI发展趋势与应用场景

246篇文章 1.2M阅读 56.3k粉丝

评论 (128)

用户头像

AI爱好者

2小时前

这个更新太令人期待了!视频分析功能将极大扩展AI的应用场景,特别是在教育和内容创作领域。

用户头像

开发者小明

昨天

有没有人测试过新的API响应速度?我们正在开发一个实时视频分析应用,非常关注性能表现。

作者头像

AI前线 作者

12小时前

我们测试的平均响应时间在300ms左右,比上一代快了很多,适合实时应用场景。

用户头像

科技观察家

3天前

GPT-4的视频处理能力已经接近专业级水平,这可能会对内容审核、视频编辑等行业产生颠覆性影响。期待看到更多创新应用!