currently progressing Linux Plumbers Conference 2022 A small Rust-related session was held at the conference, and the general direction of the meeting was roughly: the ongoing work to make Rust a suitable systems programming language, and the integration of Rust support in the mainline Linux kernel.
Miguel Ojeda, who leads the “Rust for Linux” effort, gave an update on the work on the Linux kernel; mainly on how the latest patch series has been streamlined to ease upstream work, various developments over the past year, and continued work New Rust abstractions to expand the possible uses of Rust code in the kernel. He also said that he hopes that more researchers will be involved in the future, so that Rust code can be merged into the Linux kernel mainline as soon as possible.
In addition, Phoronix noted that Western Digital’s Andreas Hindborg’s post around Rust-based NVMe drivers was also fascinating. Hindborg said that while the Linux kernel already has excellent NVMe drivers written in C, there is no need to replace them; but given the widespread use of NVMe drivers and their importance, using NVMe drivers written in Rust is also a very interesting attempt .
Benchmark results presented by Hindborg show that while the Rust NVMe driver is still in its early stages, it has performed well. “We demonstrate a functional PCI NVMe driver for Linux written in Rust”.The test environment is as follows:
- Dell PowerEdge R6525
- 1 CPU socket populated – EPYC 7313, 16 cores
- 128 GB DRAM
- 1x SN840 8GT/s x4 3.94 GB/s (PCIe 3)
- 3x P5800x 16GT/s x4 7.88 GB/s (PCIe 4)
- Debian bullseye (linux 5.10.0-15)
- QEMU 5.2.0 (Debian 1:5.2+dfsg-11+deb11u2)
- –enable-kvm , -m 32G , -cpu host , –smp 2
- PCI pass-through (vfio-pci)
Test Results:
According to Hindborg, the results show that the Rust driver can achieve comparable performance to the C driver; however, the driver is not yet mature, and contributions are welcome.For more details, see the full PPT content.
#Rust #Linux #driver #achieve #comparable #performance #driver #News Fast Delivery