Rust Linux驱动程序媲美C驱动程序
出品 | OSC开源社区(ID:oschina2013)
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 内容:http://lpc.events/event/16/contributions/1180/attachments/1017/1961/deck.pdf
相关链接:https://www.phoronix.com/news/LPC-2022-Rust-Linux
有奖问答
OSCHINA本期高手问答我们邀请到徐潇宇老师和大家聊聊“实时互动娱乐场景下如何提升 RTC 音频引擎音质”,欢迎长按识别下方二维码前来提问
提问还将有机会获得荔枝 2022 年度致敬 T~
这里有最新开源资讯、软件更新、技术干货等内容