[LSF/MM/BPF TOPIC] blk_mq rust bindings

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

I would like to suggest a session on the application of Rust in blk-mq drivers.

At LPC I presented work on an NVMe driver for Linux written in Rust. The purpose
of the driver is to help shape Rust abstractions of kernel APIs and to verify
feasibility of safe Rust for high performance drivers. One suggestion from the
audience was to look into null_blk, as this would eliminate hardware related
overhead in benchmark results.

I did an analysis of all the commits in the null_blk driver (currently 256
exluding merge commits). 27% (68) of these commits are bug fixes. Out of these
27%, 41% (28) are fixes for memory safety issues. These are issues that would be
avoided in a Rust based implementation.

I am working on an implementation of a null_blk in Rust. I plan to send a patch
set before LSF to serve as a base of discussion.

Suggested discussion points:
============================

 - Feasibility in terms of performance for Rust based Linux kernel drivers
 - Importance of memory safety in the Linux Kernel and how Rust can help
 - How to maintain Rust bindings for blk-mq

Best regards,
Andreas Hindborg



[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux