Linux 7.0 时代开启:Rust 语言结束「实验」身份,正式转正
这是一个关于 Linux 内核开发的重要时刻。
根据 Linux 内核邮件列表(LKML)中 Rust for Linux 维护者 Miguel Ojeda 提交的最新补丁信息,Linux 内核开发社区迎来了一个里程碑式的节点:
在即将到来的 Linux 7.0 版本中,Rust 语言支持正式结束了其长达数年的“实验”状态。
这意味着,Rust 不再是内核中的一个尝试性组件,而是被官方认定为“驻留在此(Here to stay)”的正式基础设施。
告别实验身份
这次变更的象征意义远大于代码本身。在提交给 Linux 7.0 合并窗口的拉取请求中,Miguel Ojeda 明确删除了 Rust 子系统文档中关于“实验性”状态的警告。他写道:“实验已经结束,Rust 将留在这里。”
这一决定并非突发奇想,而是基于过去几年 Rust 在内核中的实际表现。目前,Rust 已经被用于生产环境,部分 Linux 发行版开始在其内核构建中默认启用 Rust 支持。
更广泛的应用案例来自于移动端,数以亿计的 Android 设备正在运行包含 Rust 代码的内核。这些实际部署证明了 Rust 在操作系统底层开发中的稳定性和价值。
Miguel Ojeda 在邮件中特别感谢了内核维护者们的耐心与支持,以及众多贡献代码的开发者。
回想起最初将 Rust 支持合并入内核时,致谢名单上有 173 人,而如今这个名单已经长到无法在单一邮件中完整列出。这反映了 Rust 在内核社区中的生态已经从早期的少数人探索,发展到了广泛参与的阶段。
Linux 7.0 的技术细节:LTO 与构建优化
除了宣布“转正”之外,本次提交的代码变更主要集中在构建系统的优化上。其中最值得关注的技术细节是引入了 __rust_helper 标注。
这个改动主要是为了改进内核在启用链接时优化(LTO, Link-Time Optimization)时的构建流程。在混合使用 C 和 Rust 进行内核开发时,跨语言的内联优化一直是一个技术难点。
通过引入 __rust_helper,开发者可以更精确地控制编译器行为,使得 C 语言编写的辅助函数能够被正确地内联到 Rust 代码中。
这对于提升最终生成的内核二进制文件的执行效率至关重要,同时也解决了某些特定编译器配置下的符号冲突问题。
此外,本次更新还包含了对 Rust 内核 crate 的多项增强,虽然没有引入颠覆性的新功能,但这些基础库的打磨对于编写高质量的驱动程序至关重要。
版本号的跃迁:从 6.19 到 7.0
值得注意的是,Linux 7.0 这个版本号本身的到来也颇具戏剧性。根据 Linus Torvalds 的习惯,当内核的小版本号变得“太大”,导致他“手指和脚趾不够数”时,他就会升级主版本号。因此,Linux 7.0 被确认为 Linux 6.19 的继任者。
这并非意味着内核架构发生了断裂式的重构,而是延续了 Linux 社区一贯的迭代节奏。Linux 7.0 的合并窗口目前已经开启,预计稳定版将在 2026 年 4 月中旬发布。
届时,作为长期支持版本(LTS)的 Ubuntu 26.04 很可能将会搭载这一内核版本,这将进一步加速 Rust 在服务器和桌面环境中的普及。
总结
Rust 语言引入 Linux 内核最初曾引发巨大的争议,从内存安全的承诺到开发门槛的提升,社区经历了长时间的磨合。
如今,随着 Linux 7.0 宣布结束 Rust 的实验状态,这场关于“C 语言是否是内核唯一选择”的争论在某种程度上已经尘埃落定。
对于开发者而言,这标志着学习 Rust 进行内核开发不再是一项技术赌博,而是一项面向未来的必要技能投资。
随着 Google、Microsoft 等科技巨头的持续投入,以及 Linux 7.0 的正式背书,Rust 在操作系统底层的地位在众多现代无GC语言的竞争者中已站在头部。
信息来源:
- • https://www.phoronix.com/news/Linux-7.0-Rust
- • https://lore.kernel.org/rust-for-linux/20260208135445.64840-1-ojeda@kernel.org/