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


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

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

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

这个补丁系列是对上游 Rust 支持的第一批更改,所有引入的设施都是“Rust 核心”的一部分,不会与 C 端交互(没有使用新的 C 类型;只有 strlenmemchr、额外的错误代码和一些更多的 printk 格式字符串)。

该系列补丁的主要内容:

  • 让 str.rsprint.rs 与下游同步
  • 添加剩余的 proc 宏
  • 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 驱动程序。


相關推薦

2022-12-13

Linux 6.1 合并了最初的 Rust 基础设施,但如今 Linux 6.1 已作为稳定版发布,其 Rust 支持仍处于初级阶段,没有任何面向最终用户的 Rust 功能。 Linux 6.2 仍在补充 Rust 代码,据外媒 Phoronix 报道,负责 Rust For Linux 部分的内核开发者 M

2022-11-05

题,使其 4K @ 60HZ 显示器的处理更加稳健。 目前 Linux 6.2 内核的最新一批 drm-misc-next 更新正在排队进入 DRM-Next 树,Raspberry Pi 4 系列最常用的 Broadcom VC4 DRM/KMS 驱动程序已获得多项改进。 Broadcom VC4 驱动改进主要是修复 Raspberr

2023-05-01

Rust for Linux 首席开发人员 Miguel Ojeda 提交了 Linux 6.4 内核的最新 Rust 功能代码 PR。 据外媒 phoronix 介绍,Linux 6.4 的新 Rust 代码包括引入 pin-init API,它用于处理安全的固定初始化,并允许减少内核中围绕需要稳定地址的数据结构的

2022-11-03

2 日 ,一位小米工程师以“更好的性能”为由,向 Linux 内核发送了一组用于实现 UFS FBO 的优化补丁,以下为邮件中对该功能的概述: 此功能需要以下主机-设备对话: 主机让设备知道其感兴趣的 lba 范围,这些范围通常

2023-06-06

续进行许多不同的 Rust 工作,而到目前为止合并的主要是基础设施、子系统抽象,同时在等待任何值得关注的 Rust 驱动 —— 比如 Apple DRM 内核驱动,为上游做好准备。

2022-10-28

性能。 Zorin OS 16.2 现在由与 Ubuntu 22.04 相同版本的 Linux 内核提供支持,并配备了新的驱动程序,为硬件带来了更好的支持,例如: NVIDIA 显卡,包括 GeForce RTX 4090 AMD Radeon 和 Intel 显卡 采用第 12 代 Intel 处理器的框架笔记本

2022-12-12

能的细节,请查看咱们 OSC 对应的报道: 初始的 Rust 基础设施已被合并到 Linux 6.1 Linux 6.1 内核合并面向 LoongArch 架构的 CPU 特性 Linux 6.1 将迎来 MGLRU 和 Maple Tree 支持 Linux 6.1 迎来 Btrfs 异步缓冲写入补丁,吞吐量翻倍 Linux 6

2022-03-18

Linux 内核和 Rust on Linux 的主要开发者 Miguel Ojeda 向 Linux Kernel 邮件列表提交了一个,继续推进在 Linux 内核中增加对 Rust 作为第二语言支持。 一些 Rust for Linux v5 的更改包括: 工具链和 alloc 已经升级到了 Rust 1.59.0。这个版本

2022-12-17

Linux 6.2 的 exFAT 内核驱动程序获得了一批优化补丁,对使用 exFAT 文件系统的 SD 卡或 USB 闪存驱动器来说,创建文件和目录的速度比以前版本更快。 exFAT 文件系统是由微软开发的 FAT32 文件系统的替代者,在整个电子行业中都得

2023-11-16

umbers Conference 上,Linux 和 Rust 开发人员 Miguel Ojeda 向 Linux 内核开发人员介绍了有关 Linux 内核中 Rust 的最新情况。简而言之,Rust Linux 正在不断走向成熟,并得到了思科、三星和 Canonical 等开发者和供应商的大力支持。 目前,一

2022-02-15

Linux 内核和 Rust on Linux 的主要开发者 Miguel Ojeda 近日再向 Linux Kernel 邮件列表提交了一个新补丁 (v4),继续推进在 Linux 内核中增加对 Rust 作为第二语言支持。此举意味着对 Linux 内核驱动程序等的可选 Rust 编程支持继续成熟;Phoro

2022-09-27

表示除非有意外发生,Rust 将进入 Linux 6.1,但“只是核心基础设施”。西部数据的工程师们在 Linux Plumbers 大会上展示了使用 Rust 开发的 NVMe 驱动,它已经实现了与 C 语言版本相当的性能。Linux 内核开发者也同意 Rust on Linux 已经

2023-02-09

Linux 系统的任意应用中使用,而不仅限 Steam 客户端。 内核中的 Hid-Steam 板块最初是为支持 Steam 控制器手柄而创建的 HID 内核驱动程序。早在 2018 年,Rodrigo Rivas Costa 通过逆向分析为 V 社的 Steam Controller 手柄开发内核驱动程序,

2022-09-30

持将会被合并到 Linux 6.1。同时他提醒目前“Rust 只在核心基础设施使用”。无论如何,对于 Rust 和 Linux 来说这都是重要的第一步。