
整理 | 苏宓
出品 | 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 SG2042和T-Head TH1520)出现的存储缓冲区合并问题,提供errata(缺陷修正)规避方案。
现在可以从 Device Tree读取MMU类型,以避免在某些系统上(如Nuclei UX900)通过 CSR 写操作探测 MMU 宽度时出现卡死的问题。
支持 Xmipsexectl扩展(MIPS 架构版本的Zihintpause指令)。
在支持 Zbb的系统上优化字节序交换例程性能,并在支持V 扩展的系统上提升RAID6性能。
支持 kprobetrace。
为用户空间进程提供 CFI(控制流完整性)支持。
支持 MPXY和RPMI两个 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 产品新红利
