正在进行的 Linux Plumbers Conference 2022 大会上举行了一个 Rust 相关的小型会议,该会议讨论的大方向大致为:正在进行的使 Rust 成为一种合适的系统编程语言的工作,以及在主线 Linux 内核中整合对 Rust 的支持。
领导"Rust for Linux"工作的 Miguel Ojeda 在会上介绍了 Linux 内核工作的最新状况;内容主要在于最新的补丁系列是如何被精简以减轻上游工作的、过去一年的各种进展,以及继续致力于新的 Rust abstractions 以扩大 Rust 代码在内核中的可能用途。并表示,接下来还是希望能有更多的研究人员参与进来,让 Rust 代码能够尽早被合并进 Linux 内核主线中。
此外,Phoronix 指出,西部数据公司的 Andreas Hindborg 围绕基于 Rust 的 NVMe 驱动程序发表的内容也很吸引人。Hindborg 称,虽然目前 Linux 内核已经拥有出色的由 C 编写的 NVMe 驱动程序,不需要替换;但鉴于 NVMe 驱动程序的广泛使用度及其重要性,使用 Rust 编写的 NVMe 驱动程序也是一个非常有趣的尝试。
Hindborg 展示的基准测试结果表明,虽然 Rust NVMe 驱动程序仍处于早期阶段,但其已表现不俗。“我们演示了一个用 Rust 编写的适用于 Linux 的功能性 PCI NVMe 驱动程序”。测试环境如下:
- Dell PowerEdge R6525
- 1 CPU socket populated - EPYC 7313, 16 cores
- 128 GB DRAM
- 1x SN840 8GT/s x4 3.94 GB/s (PCIe 3)
- 3x P5800x 16GT/s x4 7.88 GB/s (PCIe 4)
- Debian bullseye (linux 5.10.0-15)
- QEMU 5.2.0 (Debian 1:5.2+dfsg-11+deb11u2)
- --enable-kvm , -m 32G , -cpu host , --smp 2
- PCI pass-through (vfio-pci)
测试结果:
Hindborg 称,结果表明该 Rust 驱动程序能够实现与 C 驱动程序相当的性能;但目前该驱动程序还没有成熟,欢迎大家踊跃参与贡献。更多详细信息可查看完整的 PPT 内容。