Many Rust Changes Submitted For Linux 6.15
([Programming] 4 Hours Ago
Rust For Linux 6.15)
- Reference: 0001537737
- News link: https://www.phoronix.com/news/Linux-6.15-Rust
- Source link:
All of the Rust programming language infrastructure updates for the Linux 6.15 kernel have now been submitted. In addition to a lot of technical Rust improvements for the Linux kernel, this cycle also marks the first time Rust Linux maintainer Miguel Ojeda has taken a pull request directly from another contributor as they prepare to work out sub-trees for the Rust ecosystem.
Moving forward the Rust Linux developers will be working toward maintaining sub-trees for different areas of the Rust kernel code. With Linux 6.15 is the first time the Rust code has pulled from a repository for introducing new Rust code rather than just layering on patches directly. Expect more activity here moving forward.
As for the Rust changes in Linux 6.15, there are various crate changes, new HRTIMER and DMA modules for the kernel crate, error handling sections to the documentation, Danilo Krummrich being added as a reviewer for the Rust code, recognition as the previously-controversial DMA mapping helpers device driver API for Rust being part of the new Rust alloc sub-tree, and preparations for other Rust sub-trees.
Separately, via the DRM subsystem pull, is also the [1]very early NOVA core driver code for an open-source NVIDIA driver written in the Rust programming language. That's very initial code for NOVA-Core in Linux 6.15 but begins laying the foundation as the first in-tree Rust kernel graphics/display driver.
More details on the many Rust code changes for the Linux 6.15 kernel via [2]this pull request .
Update: The new Rust code for Linux 6.15 happened to be merged a few minutes after this article... Linus Torvalds also [3]commented on the need for assistance in dealing with Rust code merge issues given his inexperience with the Rust programming language:
"Thanks. I decided to try to do the merge on my own, but failed. I came close, but it was good to have your example merge to see what I got wrong.
The pin_init becoming a crate of its own, but 'pin::Pin' being in the core crate ended up messing with my "monkey see, monkey do" approach to Rust merges.
I'll learn eventually, in the meantime please do continue to give me example merges and I'll use them as training wheels."
[1] https://www.phoronix.com/news/Linux-6.15-DRM-Graphics-Drivers
[2] https://lore.kernel.org/lkml/20250330170535.546869-1-ojeda@kernel.org/
[3] https://lore.kernel.org/lkml/CAHk-=wjpDpK0cd=tBk2t005nrddL0hXRQ+h+iZPHfVsi6qQY+w@mail.gmail.com/
Moving forward the Rust Linux developers will be working toward maintaining sub-trees for different areas of the Rust kernel code. With Linux 6.15 is the first time the Rust code has pulled from a repository for introducing new Rust code rather than just layering on patches directly. Expect more activity here moving forward.
As for the Rust changes in Linux 6.15, there are various crate changes, new HRTIMER and DMA modules for the kernel crate, error handling sections to the documentation, Danilo Krummrich being added as a reviewer for the Rust code, recognition as the previously-controversial DMA mapping helpers device driver API for Rust being part of the new Rust alloc sub-tree, and preparations for other Rust sub-trees.
Separately, via the DRM subsystem pull, is also the [1]very early NOVA core driver code for an open-source NVIDIA driver written in the Rust programming language. That's very initial code for NOVA-Core in Linux 6.15 but begins laying the foundation as the first in-tree Rust kernel graphics/display driver.
More details on the many Rust code changes for the Linux 6.15 kernel via [2]this pull request .
Update: The new Rust code for Linux 6.15 happened to be merged a few minutes after this article... Linus Torvalds also [3]commented on the need for assistance in dealing with Rust code merge issues given his inexperience with the Rust programming language:
"Thanks. I decided to try to do the merge on my own, but failed. I came close, but it was good to have your example merge to see what I got wrong.
The pin_init becoming a crate of its own, but 'pin::Pin' being in the core crate ended up messing with my "monkey see, monkey do" approach to Rust merges.
I'll learn eventually, in the meantime please do continue to give me example merges and I'll use them as training wheels."
[1] https://www.phoronix.com/news/Linux-6.15-DRM-Graphics-Drivers
[2] https://lore.kernel.org/lkml/20250330170535.546869-1-ojeda@kernel.org/
[3] https://lore.kernel.org/lkml/CAHk-=wjpDpK0cd=tBk2t005nrddL0hXRQ+h+iZPHfVsi6qQY+w@mail.gmail.com/
fulalas