【发现】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 值得关注。

posted @ 2024-07-19 20:47  plus7wist  阅读(24)  评论(0编辑  收藏  举报