Hotdry.
systems-engineering

Rust 内核模块正式启用稳定分配器:接口选型、性能基准与模块热升级实践

Linux 6.14 起,Rust 内核代码可完全用 stable 工具链编译。本文聚焦稳定分配器两大接口 kallocator 与 bumpalo 的权衡、实测数据及热升级限制,给出可落地的参数与监控要点。

2025 年 3 月发布的 Linux 6.14 在内核邮件列表里被 Greg Kroah-Hartman 称为 “Rust 成人礼”:从这一版开始,内核里的 Rust 代码可以完全使用 stable 工具链构建,不再需要任何 nightly feature。对一线内核开发者而言,这比 “又多了一个新驱动” 更具标志性 —— 它意味着 Rust 真正走出实验室,与 C 代码承担同等稳定性承诺。

1. 从 nightly 到 stable:分配器为何是最后一公里

Rust 进入内核的六年里,语法、ABI、panic 处理等难题被逐一攻克,但 “内存从哪里来” 始终是悬而未决的尾巴。早期 Rust 模块只能依赖 #[global_allocator] 的 nightly 版本,或干脆把 kmalloc 包装成 `unsafe extern

查看归档