最近在 Linux Plumbers 2020 会议前,有内核开发者提议会上讨论一些关于 Linux 中支持 Rust 的话题,引来了 Linus Torvalds 的回应。
去年就有开发者询问Linux 内核稳定版维护者Greg Kroah-Hartman “Linux 有没有想法拥抱Rust”,Greg表示愿意接受用 Rust 开发 Linux 内核的驱动程序,但前提是:
1、以可选的方式存在,而不是默认启用,这样其他开发者就不需要使用 Rust 去构建内核
2、Rust 驱动需要体现出比 C 驱动具有优势,比如针对内核 API 的安全封装器
此次 Linus 关于 Linux 支持 Rust 的回应看上去正是针对这第 1 个条件。
Greg 希望 Linux 中的 Rust 支持是以可选的方式存在,而不能全面默认启用,类似于在一个大的系统配置项里还要单独开启一个针对 Rust 的小选项,但 Linus 则认为应该在默认情况下可以有效地启用支持,以确保进行广泛的测试,而不是只有某些开发者孤立地在进行疯狂/错误的使用,因为没有人关注,问题会被掩盖。
同时,Linus 还用 Kconfig 的使用指令举例,表示 Rust 支持需要足够简洁,类似“config RUST_IS_AVAILABLE……”,Linus 认为如果在系统上检测到 Rust 编译器,则 Kconfig 将启用 Rust 支持,并继续构建任何假定的 Rust 内核代码,以至少查看其是否正确构建。“我希望以如此简单的格式引入第一个 Rust 驱动程序(或其它任何驱动程序),以使故障显而易见且简单。”