Rust Linux 驱动程序能够实现与 C 驱动程序相当的性能


正在进行的 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 内容。


相關推薦

2022-09-30

维护者 Greg 表示愿意接受用 Rust 开发 Linux 内核的驱动程序。 2020 年,Linus Torvalds 回应了针对 Linux 内核支持 Rust 的个人看法。他没有否定该提议,而是提倡在默认情况下开启该 feature,以确保该 feature 能被充分测试。当

2022-09-27

ux Plumbers 大会上展示了使用 Rust 开发的 NVMe 驱动,它已经实现了与 C 语言版本相当的性能。Linux 内核开发者也同意 Rust on Linux 已经准备就绪。

2023-06-20

性和网络 高级 socket 网络 改进了 host SDK ,使 WasmEdge 能够实现更好地被嵌入 性能和兼容性的提升 新的 plugin 系统 WasmEdge 0.12.0 引入了 WasmEdge plugin C API。WasmEdge plugin C API 为社区提供了一种简单的方式,将 host 函数添加、管

2023-05-01

新的“_IOC*”const 函数(相当于 C 宏)、一个新的可以被驱动程序直接访问的 uAPI crate ,以及改进现有模块。 有关 Linux 6.4 添加的 Rust 功能代码的详细信息,可以通过此 PR 细阅。

2024-06-04

验证需要程序设计,其中C和C++语言是大部分基础软件的实现语言,有着重要的地位。C和C++编程语言因为语法复杂,很多学生即使进行了系统学习,仍然难以编写出稳定且少错的程序,尤其是其中的指针和内存管理机制,令无数

2022-08-23

g 并在此基础上实现了 Hive Metastore 的支持! 现在 Databend 能够直接对接 Hive 并从 HDFS 上读取数据。 select * from hive.default.customer_p2 order by c_nation; 时间旅行: 很久之前,Databend 社区分享过底层 FUSE Engine 的实现 From Git to Fuse

2024-08-06

工具,自动将旧 C 代码转换为 Rust 代码。 DARPA 表示希望能够通过 AI 模型推动编程语言的转换,从而使软件更加安全。TRACTOR 的 DARPA 项目经理 Dan Wallach 在一份声明中表示: “你可以访问任何一个 LLM 网站,开始与其中一个 AI

2022-04-21

本具有相同的水平,因为它通过了所有的 CRuby 测试,也能够运行所有 YJIT 基准测试,并且性能与 C 版本基本一致(它以相同的方式运行,并且基本生成了相同的机器代码)。此外,开发团队还加入了一些设计改进,例如更细粒

2023-02-03

种其他方式。 Bjarne 表示,自己几十年来一直致力于实现更好、更安全、更高效的 C++。特别是关于 C++ Core Guidelines 的工作,旨在为有需要的人提供静态保证的类型安全和资源安全的 C++。符合 C++ Core Guidelines 的良好静态分

2024-09-26

面的优势。 为什么都三大操作系统都看好Rust,它是怎么实现内存安全的?以至于谷歌甚至还放话要脱离 C/C++。 在操作系统之外,Rust 也将取代 C/C++ 吗?有人就认为,Rust 适合写内核级别的代码,但并不是适合业务开发,因为

2022-06-20

Android 的支持 引入替代渲染器 IPC 功能增强,以​​实现改进的调试 引入 runtime 插件 支持对其他语言的附加绑定 详情查看发布公告。

2023-04-24

键盘后面攻击他人炫耀自己。Ruby语言灵活充满人情味,能够激发“铸剑”的乐趣,但是随着年龄增长,曾经满世界背包找的Ruby小技巧最后都无法对抗记忆衰退, 尊敬Ruby的小情调,但是现在我更喜欢记忆负担小的Python。 7: Vala

2022-09-03

acBook Air ,运行基于 Arch 的 Asahi Linux 系统(这是目前唯一能够运行最新 Apple  M2 芯片的发行版),测试基于 Linux 5.19 内核,编译器版本分别是 LLVM Clang 14.0.6 和 GCC 12.1,它们都是 Arch/Asahi 最新版本的编译器。在所有测试中,CFLA

2023-11-15

已经流行多年并且现在仍然很流行。调查显示,Ruby 需求相当高,而且大部分都是高薪。 Ruby 主要流行于 Web 开发,与著名的 Ruby on Rails 框架结合使用。它也有一些其他的实用工具,从脚本和原型设计到游戏开发(使用 DragonRuby