Skip to content

rastko2045/vroom

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

70 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

vroom

vroom is a userspace NVMe driver written in Rust. It aims to be as fast as the SPDK NVMe driver, while minimizing unsafe code and offering a simplified API. vroom currently serves as a proof of concept.

My thesis contains some details about the implementation.

Build instructions

You will need Rust, as well as its package manager cargo which you can install with:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Huge pages need to be enabled:

cd vroom
sudo ./setup-hugetlbfs.sh

To build the driver, as well as any examples run:

cargo build --release --all-targets

e.g. to run the hello world example (root rights are needed for DMA):

sudo ./target/release/examples/hello_world 0000:00:07.0

Disclaimer

This is by no means production-ready. Do not use it in critical environments. DMA may corrupt memory.

Related projects

About

userspace nvme driver

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 99.8%
  • Shell 0.2%