Linux 之父 Linus Torvalds 再爆粗口!怒批 Intel 驅動測試程式「hdrtest」是「噁心廢物」
Linux 核心創始人 Linus Torvalds 近日在審核 Linux 6.15-rc1 的程式碼時,再度展現他招牌的「暴躁工程師」風格,痛批 Intel 貢獻的 hdrtest 測試程式是「噁心的垃圾」(disgusting crap),不僅拖慢編譯速度,還在全域標頭檔目錄留下「隨機的屎塊」(random turds)。這場風波迅速在開源社群引發熱議,而 Torvalds 最終直接將該功能標記為「損壞」(broken),禁止其進入正式版核心。
事件始末:hdrtest 為何激怒 Linus?
在 Linux 核心的 DRM(Direct Rendering Manager) 圖形驅動更新中,Intel 團隊提交了 Xe 顯示驅動 的改進程式碼,其中包含一個名為 hdrtest 的測試工具,用於檢查 DRM 標頭檔(header files)的自洽性。然而,Torvalds 發現此工具存在兩大問題:
- 效能拖累:hdrtest 在標準的 allmodconfig 編譯過程中強制執行,導致整體構建時間無謂增加。
- 目錄污染:測試完成後,hdrtest 會在系統標頭檔路徑(如
/usr/include/
)殘留臨時檔案,干擾開發者的終端機自動補全功能。
Torvalds 在郵件列表中以經典的「咆哮體」寫道:
「這玩意需要去死!」(this thing needs to die)
「如果你們想跑 hdrtest,自己私下檢查就好,別讓所有人被迫看到這些噁心東西,還得清理你們拉的屎!」
技術解析:hdrtest 到底是什麼?
hdrtest 並非大眾熟悉的 HDR(高動態範圍) 技術,而是 Intel 為驗證 DRM 標頭檔設計的測試工具,主要確保:
- 標頭檔能獨立編譯(不依賴隱含的外部引用)。
- 符合 Linux 核心的程式碼規範。
儘管初衷良好,但其實現方式觸犯了 Linux 核心開發的兩大原則:
- 「不強加負擔」:非必要工具不應默認加入通用構建流程。
- 「保持乾淨」:臨時檔案必須自動清理,避免污染工作環境。
Linus 的處理:直接標記「Broken」
Torvalds 最終採取強硬手段:
- 在核心配置中將 hdrtest 標記為 「BROKEN」,阻止其被編譯。
- 要求 Intel 團隊重新設計測試邏輯,改為開發者手動觸發,而非強制全域執行。
此舉被視為對「過度工程化」的警示——即使是大廠貢獻的程式碼,若違背核心哲學,仍會遭到無情駁回。
網友反應:經典 Linus 風格,但問題確實存在
開源社群對此事分成兩派:
- 支持者:認為 Torvalds 的粗暴批評一針見血,hdrtest 的設計確實欠妥。
- 反對者:質疑公開辱罵可能打擊貢獻者熱情,尤其 Intel 工程師本意是改進驅動品質。
不過資深開發者普遍認同,「效率與潔癖」是 Linux 成功的關鍵,而 Torvalds 的嚴格把關正是核心代碼保持精簡的主因。
後續影響:Intel 如何回應?
截至本文發布,Intel 尚未公開說明修正方案,但根據過往經驗,該團隊很可能會:
- 將 hdrtest 改為可選模組(需手動啟用)。
- 加入自動清理機制,避免殘留檔案。