近年來脾氣愈發溫和的 Linus Torvalds,剛剛在 Linux 内核郵件列表中發布一篇措辭最爲激烈的帖子,矛頭直指谷歌一位貢獻者關于文件系統的建議。
引發 Linus 憤怒情緒的導火索正是 inodes,即索引節點。根據紅帽給出的定義,inodes 是 " 給定文件系統上特定元數據片段的唯一标識符 "。
過去幾周以來,inodes 在 Linux 内核郵件列表上引發了廣泛争論,其中谷歌員工 Steven Rostedt 與 Linus 甚至就此事展開了激烈對抗。在題爲《保證所有文件和目錄都擁有相同 inodes》的帖子中,作者認爲在使用 tar 歸檔文件時,inodes 仍可發揮作用。但 Linus 則反駁稱 inodes 早已過時。
Linus 指出," 沒錯,inodes 曾經地位特殊且擁有曆史傳承。但總的來看,我們應當努力擺脫這段破碎的曆史。Indoes 編号不再作爲唯一的描述符。現在已經不是 20 世紀 70 年代,如今的文件系統早已發生重大轉變。"
但關于 inodes 的争論仍未平息。Rostedt 最終建議稱,所有 inodes 都應擁有唯一編号。
Steven 于 1998 年開始研究 Linux 内核,并于 2001 年成爲一名專業(付費)内核開發人員。目前,Steven Rostedt 是谷歌内核的開發者,也是 VMware 的開源程序員,負責維護 Linux 内核的實時穩定版本等。Rostedt 是 PREEMPT_RT 補丁的原始開發者之一,并于 2004 年開始研究該補丁,目标是将 Linux 轉變爲實時設計的操作系統。他也是内部跟蹤工具 Ftrace 的主要作者、開發人員和維護者,該工具旨在幫助開發人員查找内核内部發生的情況。根據 Ftrace wiki,該工具可用于調試或分析用戶空間之外發生的延遲和性能問題。
Rostedt 參加了很多 Linux 基金會的活動,已在世界各地進行了 80 多場演講,他也是 Linux 基金會技術咨詢委員會 ( TAB ) 和 Linux Plumbers 編程委員會的成員。
Steven Rostedt
Linus 也終于按捺不住,撿起了近年來已經大大緩和的火爆脾氣。
2018 年,在向 Linux 程序員和項目貢獻者們就 " 郵件中的輕率攻擊 " 道歉之後,Linus 曾宣布要休息一下并尋求幫助,并承認這種粗暴的反應 " 既不專業,也沒有必要。我把技術上的争論當成了個人恩怨 …… 我知道這樣不好,真的非常抱歉。"
Linus 之所以誠懇緻歉,是因爲 Linux 内核郵件列表其實是衆多項目貢獻者的共同工作場所。辱罵性帖子顯然會破壞輕松愉快的工作氛圍。畢竟 Linux 的發展還要仰仗于這些志願貢獻者和維護者,惡言惡語恐怕會損害項目的未來發展。
在回應 Rostedt 關于唯一 inodes 編号的建議時,Linus 先是表示 " 如非必要,勿增複雜性。"
但在此之後,他就有點失控了。
" 我真的服了,别再照搬 VFS 層函數了。這玩意當初就有問題,現在一樣要出問題。我不想讨論這種廢話。"
Linus 對 Rostedt 的批評意見,主要集中在這位谷歌開發者對讨論主題存在理解偏差—— Rostedt 本人後來也承認了這一點。
但在此之前,Linus 的 " 大炮 " 已經轟轟作響:
你直接照搬了這條函數,卻不理解它爲什麽會有相應的效果,這樣的代碼純屬垃圾。
真讓人心累。
争論持續一段時間之後,Linus 開始以冷靜的證據提出了更好的方法,希望解決 Rostedt 所關切的問題。這位寫道,他倒不打算立刻跟進這件事,因爲 " 我在這事上已經浪費了很多時間,手頭還有不少亟待解決的工作,所以暫時就先放一放。"
Rostedt 則在回複中給出了似乎針鋒相對的說法:
諷刺的是,我也有拖着沒做完的工作,就是爲 eventfs 的維護者倦怠支持小組編寫文檔!
不難看出,Rostedt 言外之意是——你忙,我也忙,說的好像誰不忙似的。
盡管引起了風波,但 Linus 也帶來了令人振奮的好消息:Linux 内核 6.8-rc2 版本已首次亮相。
Linus 指出,rc1 中存在 " 一個 amdgpu 調度錯誤,可能導緻桌面挂起(最終可以恢複,但需要等待足夠長的超時,所以大多數用戶可能會選擇重新啓動)。"
" 這個問題似乎産生了廣泛影響。"
Linus 本人也遇到過 btrfs bug,但由于發現較早,所以這個 bug 沒有進入 rc1。
" 總之,随着 rc2 版本逐漸趨于穩定,不少可能影響衆多測試人員的問題正逐步得到解決。所以希望後續我們能修複掉更多比較複雜、不涉及常見核心設置的問題。"
" 所以大家可以親自測試一下了,現在一切正常。我們還是靠譜的,對吧?"
當然,Linus 大佬在内核開發領域絕對靠譜,但在項目管理和溝通方面恐怕還值得商榷 ……
Linus 内心 os:
我也不想噴,但我忍不了
然而,大家似乎已經适應了這位 Linux" 獨裁者 " 的暴脾氣,甚至有網友表示,看不到 Linus Torvalds 怼人,失去了很多快樂。
過去十多年裏,被這位大佬怼過的開發者和公司不勝枚舉。
2013 年,Intel 公司的内核開發人員 Sarah Sharp 稱 Torvalds 的行爲是不專業的,稱 Torvalds" 主張進行人身恐吓和暴力行爲。"Torvalds 随後指責 Sharp 把自己描述成受害者博取同情,不接受任何勸他應該改變的建議。
在 2015 年發表演講說到英偉達時,Torvalds 還曾轉向一台攝像機說 "so Nvidia fuck you" 并豎起了中指。
2015 年底,Sarah Sharp 宣布退出(Closing a door)内核社區。Sarah Sharp 當時說道,過去一年多時間她已經逐步終止了手中的各項社區工作,轉交了 USB 3.0 主控制器驅動的維護工作,不再擔任開源會議的内核協調員。她不再遞交任何補丁和 bug 報告,不再向内核郵件列表寫任何的建議。她聲稱,Linux 内核社區的互動是一種 " 潛在有毒的背景輻射 ",充滿了性别歧視、語言暴力和不尊重人。
Torvalds 最終也意識到他的言行會傷害到社區發展。2018 年,他決定休假并反思自己的行爲。但反思過後,該噴還是要噴。
2020 年,在嚴辭拒絕 Intel 安全漏洞相關補丁之後,Linus Torvalds 再次對 Intel 開噴,直言 " 我希望 AVX-512 趕緊‘去死’ "。
事情的起因是 Linus Torvalds 對 Intel 的 Advanced Vector Extensions 512(AVX-512)指令集提出了一些激進的看法,稱其爲 " 功率病毒 ",其創建目的單純隻是爲了使 Intel 公司的 CPU 硬件在基準測試中跑分更高。當然,Linus 也坦承了自己 " 脾氣暴躁 ",并且表示對 Intel 确實 " 有偏見 "。
AVX-512 是 Intel 公司在 2013 年發布的一套擴展指令集,其指令寬度擴展爲 512 bit,每個時鍾周期内可執行 32 次雙精度或 64 次單精度浮點(FP)運算,專門針對圖像 / 音視頻處理、數據分析、科學計算、數據加密和壓縮和深度學習等大規模運算需求的應用場景。
Linus 認爲 Intel 爲了提高 CPU 的性能跑分,強行在 CPU 中塞入了像 AVX-512 這樣的東西,導緻 CPU 内核臃腫,爲了提升少數特定使用場景下的運算性能而影響了大部分普通用戶的使用體驗。
Linus 就此事發表評論稱:
" 我希望 AVX-512 趕緊 " 去死 "(dies a painful death),這樣 Intel 就可以開始解決實際的問題,而不是去嘗試創造這些花裏胡哨的指令集,然後圍繞它們做一些自欺欺人的基準測試。
我希望 Intel 能夠返璞歸真:讓他們的進程再次正常運行,更多地專注于提升用戶基本體驗的常規代碼,而不是糾結于所謂的高性能運算或一些毫無意義的特殊情況下才會出現的問題。