【發現】Rust-for-Linux_的成敗得失
https://www.usenix.org/system/files/atc24-li-hongyu.pdf
RFL(Rust for Linux)從 2013 年開始籌備進入 Linux 內核,自從 2022 年以來,合并了 20K 行代碼到 Linux 主線,成為了 Linux 除了 ebpf 和 io_uring 之外最活躍的子系統。
本文主要回答了 3 個問題:
- RFL 現狀如何:
- RFL 的代碼主要集中在驅動、netdev 和文件系統。
- RFL 基礎設施已經成熟,安全抽象和驅動程序是下一個重點。
- RFL 發展的瓶頸不在開發,而在代碼審查。
- RFL 是否是一種炒作:
- RFL 使內核變安全,但不是完全安全。
- RFL 沒有帶來可怕的 overhead。
- RFL 提高了代碼質量和可讀性。RFL 代碼目前達到了 100% 的文檔和代碼覆蓋率。而單位代碼行數產生的 CI 錯誤也顯著地比 epbf 和 io_uring 少。
- RFL 讓 Linux 社區吸取了更多新鮮血液。
- 經驗和教訓:
- 對開發者來說,應該從所有權的角度構造和管理內核數據結構,謹慎地接受
unsafe。 - RFL 社區應該在 BUG 密度更高的地方發揮影響力。BUG 越是容易出現,Rust 就越有價值。文章建議 linux-block 子系統。
- 對開發者來說,應該從所有權的角度構造和管理內核數據結構,謹慎地接受
此外,文章還提到 Kernal 社區對 Rust 開發驅動的感受。根據對 ycombinator 和 Iwn 的開發者文章分析,大約有 40% 持有積極態度,另外 60% 持有消極態度。持有消極態度的開發者最關心的是學習難度和復雜度。
評論
RFL 值得關注。

浙公網安備 33010602011771號