Linux内核收获一批新的Rust基础设施优化补丁

2022-11-28 16:35:58 浏览数 (1)

今年 10 月,初始的 Rust 基础设施已被合并到 Linux 6.1 。意味着未来 Rust 编程语言将用于内核驱动程序和其他子系统的代码。但 10 月的 Rust for Linux 只提供了底层的基础设施和一些非常基础的集成,缺少很多规范和子系统抽象。

近日,领导 Rust for Linux 工作的 Miguel Ojeda 发布了一组优化补丁( 28 个),为内核提供了更多的 Rust 核心支持代码。

Ojeda 在补丁系列邮件中解释道:

这个补丁系列是对上游 Rust 支持的第一批更改,所有引入的设施都是 “Rust 核心” 的一部分,不会与 C 端交互(没有使用新的 C 类型;只有 strlen、memchr、额外的错误代码和一些更多的 printk 格式字符串)。 该系列补丁的主要内容: 1、让 str.rs 和 print.rs 与下游同步 2、添加剩余的 proc 宏 3、让 error.rs 更完整,尽管稍后会出现更多的 pub(crate) 功能(以避免在系列之间留下死代码)。 此外,此系列补丁使用了一些临时的 #[allow(dead_code)] 属性,以便在组织补丁时有更多的自由度,同时保持所有补丁都可构建,而不会出现警告 / 错误。但这些属性只是临时使用,在系列补丁最终发布时没剩下多少。

这批补丁几乎所有代码都在 linux-next 中呆了好几个月,属于 Rust 补丁系列的一部分,且每个补丁都在启用 Rust 的 defconfig 上进行了构建测试。鉴于其测试的完整度,这批补丁极有可能进入 Linux 6.2 合并窗口。

一旦所有 Rust 基础设施都到位,将会有一些硬件驱动程序开始转换为 Rust 代码,一些 C 驱动程序代码也会使用 Rust 重写。据外媒 Phoronix 预测,Rust for Linux 的首批主要用户之一应该是 Apple M1/M2 图形的 DRM 驱动程序。

相关链接:

http://lore.kernel.org/lkml/20221110164152.26136-1-ojeda@kernel.org/

https://www.phoronix.com/news/More-Rust-Upstream-Prep-Linux

0 人点赞