本周早些時候發佈的RustforLinuxv8補丁,引入諸多抽象、並將Rust編程語言集成擴展到內核中的更多部分。Phoronix指出:v8補丁的代碼總行數達到43.6k,而今日新發佈的“RustforLinuxv9”,僅引入12.5k的新代碼行。
Rust 有望作為 C 語言的補充,作為支持 Linux 內核驅動程序開發的新語言。
由於刪除許多額外的功能和集成,Rust for Linux v9 較之前的補丁要小得多。通過堅持更初始的“最小化路線”,其有望為主線內核帶來更積極的變化。
除增強集成與構建事務,它還允許對各種抽象和子系統的特定補丁,引來更多人參與代碼的審核與反饋工作。首席開發者 Miguel Ojeda 評論道:
作為 v8 補丁的‘精簡版’,v9 為編譯一個最小的 Rust 內核模塊提供足夠的支持 —— 以期率先得到‘核心’支持,並開始逐步將其餘部分‘上遊化’。
內核模塊能夠創建一個‘向量’,作為一種連續、可增長的數組類型,其能夠推送一些數字、並在卸下時使用‘pr_info!’宏將之打印到內核日志。
新補丁系列還可通過移除其中部分內容而變得更小,目前看來其取得不錯的平衡。
最終得來 3% 的 kernel crate 留存(減少到 500 行),60% 的 alloc 和 adapt alloc 提交(100 行),總體量從 40k 精簡到 13k 行。雖然大多數代碼已在 linux-next 中存在數月,但我們還是不得不為減少一些內容而做微小的改動,最後歡迎大傢積極反饋這一選項是否符合你的預期。
Phoronix 指出,隨著 v9 補丁量的顯著瘦身,其有望較之前更容易獲得主線許可。
Linus Torvalds 一直希望盡快完成合並(下周的 Linux 6.0 合並窗口),後續將觀察相關工作是否已經足夠良好。