IT之家 10 月(yue) 3 日(ri)消息,昨日(ri),Linux 創始人 Linus Torvalds 在查看(kan)開發者為 Linux 6.18 提交的 DRM 子(zi)系統拉(la)取請求時,對相(xiang)關 Rust 代(dai)碼及 Rust 代(dai)碼格式(shi)檢查工具表達了(le)強烈不滿。
Torvalds 首(shou)先(xian)抨擊了開(kai)發(fa)者提交 Rust 代碼(ma)中的文本格(ge)式混亂問題(ti),隨后轉向技(ji)術層面,指責 Rust 格(ge)式檢查工具“完全(quan)不合理”,并呼吁改進(jin)相關規則(ze)。
他指出,不同子模塊(如(ru) Alloc、DMA / Scatterlist、DRM 和(he) Rust)的說明被“隨意(yi)拼(pin)接(jie)”,導致(zhi)層級縮進(jin)丟失、難(nan)以(yi)閱讀。他還諷刺“你(ni)是在用 EDLIN 嗎?”(IT之(zhi)家注:EDLIN 是早期 PC DOS 和(he) MS-DOS 系統中的行編輯器)

隨后,Torvalds 將批評重(zhong)點(dian)轉向 Rust 代(dai)碼(ma)格式。在審(shen)閱 Linux 6.18 中新(xin)增的(de) Rust DRM 代(dai)碼(ma)時,他表(biao)示對(dui) Rust 的(de)格式檢查“極度厭惡”;他還親自將多條 use crate::xyz; 改寫為統(tong)一(yi)的(de)多行格式。
Torvalds 直(zhi)言(yan):“這(zhe)完全是亂搞…… 工具(ju)正在為(wei)可維護性做出糟(zao)糕的決定。”他(ta)強調(diao)這(zhe)種格式不(bu)僅(jin)增加未來(lai)合并(bing)代碼時的沖突難(nan)度(du),也讓規則不(bu)可預測,令開(kai)發者難(nan)以遵循。
他補充說:“... 這(zhe)個東西就(jiu)是(shi)有問(wen)題的。它可能在當(dang)下看(kan)似挺好(hao),但從長遠來看(kan)卻會帶來壞處(chu)。”并列舉了兩個主(zhu)要(yao)問(wen)題:一(yi)是(shi)合并時不清楚規(gui)則,二是(shi)失(shi)去(qu)了“新增一(yi)行即(ji)可擴展”的整(zheng)潔性。
Torvalds 在(zai)郵(you)件中表示,他已(yi)忽略 rustfmtcheck 的結(jie)果,并查閱了(le) Rust 官(guan)方風格指南。他認為所謂的“小項(xiang)合并”規則在(zai)數(shu)據結(jie)構場(chang)景(jing)下或許(xu)合理,但在(zai) use 語句中則“完全錯誤”,因為這些導入條目(mu)彼此獨(du)立。
最后,他呼吁(yu)社區(qu)尋找一(yi)個“更合理的解決(jue)方案”,并指出許(xu)多(duo)開發(fa)者仍保留分開的 use 行,或許(xu)正是因(yin)為 rustfmt 的“不穩定啟(qi)發(fa)式行為”。

此外,Linus Torvalds 還(huan)明(ming)確表達了(le)對(dui) RISC-V 架(jia)構引入大(da)端(duan)(Big Endian,BE)支持的(de)強(qiang)烈(lie)反對(dui)。他認為這(zhe)類嘗試(shi)既不必要(yao),也會帶來(lai)更多(duo)復雜性和分(fen)裂(lie)問題。
天(tian)哪(na)。真的(de)有人(ren)在 2025 年還認真搞大端支持嗎(ma)?不會吧?說真的(de),這(zhe)聽起來(lai)很蠢。難道說有什么實際的(de)理由嗎(ma)?還是(shi)僅(jin)僅(jin)因(yin)為(wei) RISC-V 常(chang)用于學術(shu)設計課(ke)程,所以(yi)有人(ren)為(wei)了學術(shu)目的(de)而嘗試大端?
我們不(bu)要無緣無故(gu)地把事情復雜化。現在沒有(you)理(li)由增加新的(de)(de)字節序(xu)支持。RISC-V 本身已經有(you)數百萬個愚蠢的(de)(de)配置(zhi)問(wen)題,夠亂的(de)(de)了。拜托(tuo)別讓它更糟了好(hao)嘛,有(you)問(wen)題就去找(zhao)心理(li)醫(yi)生。
Torvalds 進一(yi)步強調:“我已經(jing)查過(guo)相關(guan)資料,并在此(ci)明確表態:我們不會為(wei) RISC-V 提(ti)前支持大端(duan)模式。”
他引用了 riscv.org 上的(de)說(shuo)明:“仍然存在(zai)一(yi)些對數(shu)據存儲方式(shi)有要(yao)求的(de)應用,比如互聯(lian)網協議(yi)被(bei)定(ding)義(yi)為(wei)大(da)端。當一(yi)個小(xiao)端系統需(xu)要(yao)檢查或(huo)修改網絡數(shu)據包時,必須進行字節(jie)交換,在(zai)不實現 Zbb 擴展的(de) RISC-V 目標(biao)上,這一(yi)過程可能需(xu)要(yao) 10 到 20 條指(zhi)令。”
對(dui)此,Torvalds 批評稱,這(zhe)種(zhong)理由“荒謬至極(ji)”。他指(zhi)出,網絡協議(yi)中(zhong)(zhong)的字節(jie)交換并(bing)不是(shi)實際性(xing)能瓶頸,真正(zheng)的成本通常在內存子系統中(zhong)(zhong)。
同時,他直(zhi)言不諱(hui)地表示:“與(yu)其抱(bao)怨字(zi)節交換,不如直(zhi)接(jie)實現(xian) Zbb 擴展。不要(yao)因為‘我(wo)們(men)無力(li)實現(xian) Zbb’,就要(yao)求所有人(ren)接(jie)受一個(ge)更(geng)糟糕的擴展,從而進一步分裂(lie) RISC-V 生態。”
Torvalds 還提到(dao),目前內(nei)核中已出現了 CONFIG_CPU_BIG_ENDIAN 的配(pei)置項,但他(ta)強調這類實(shi)(shi)驗性嘗試應當停止:“主(zhu)線內(nei)核是為主(zhu)線開發服(fu)務的,而不是為了讓(rang)隨機實(shi)(shi)驗把(ba)世(shi)界變(bian)得更糟。”
不(bu)過,他也表示,Linux 開源社區一向歡迎不(bu)同(tong)嘗(chang)試(shi):“如(ru)果未來 RISC-V 大(da)端(duan)真的在(zai)生(sheng)態中占據一席之地,那么我(wo)們當然會在(zai)那時(shi)支持它。但在(zai)當前階(jie)段,推(tui)動這(zhe)件(jian)事(shi)只會讓(rang) RISC-V 變得更糟,我(wo)們不(bu)應該主動幫助(zhu)這(zhe)種分(fen)裂。”
廣告聲(sheng)明:文(wen)內含有(you)的對外跳轉鏈接(jie)(包(bao)(bao)括不限于(yu)(yu)超(chao)鏈接(jie)、二維碼、口令等形式),用于(yu)(yu)傳遞更(geng)多信息,節省甄選時間,結果僅供參考,IT之家所有(you)文(wen)章(zhang)均包(bao)(bao)含本聲(sheng)明。