Skip to content

Commit

Permalink
NVMe driver: add v6.8 benchmarks
Browse files Browse the repository at this point in the history
Signed-off-by: Andreas Hindborg <[email protected]>
  • Loading branch information
metaspace authored and ojeda committed Apr 15, 2024
1 parent 654a046 commit 9ac9fe4
Show file tree
Hide file tree
Showing 4 changed files with 4,170 additions and 1 deletion.
1 change: 1 addition & 0 deletions book.toml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ create-missing = false
git-repository-url = "https://github.com/Rust-for-Linux/rust-for-linux.com"
edit-url-template = ""
no-section-label = true
mathjax-support = true

[output.html.fold]
enable = true
Expand Down
25 changes: 24 additions & 1 deletion src/NVMe-driver.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ implementation language for high performance device drivers.


The Linux Rust NVMe driver lives
[here](https://github.com/metaspace/linux/tree/nvme). This branch is routinely
[here](https://github.com/metaspace/linux/tree/rnvme). This branch is routinely
rebased on upstream Linux releases. Please be aware that the `nvme` branch is
force pushed without notice. The version based on the deprecated `rust` branch
is available [here](https://github.com/metaspace/linux/tree/nvme-rust).
Expand All @@ -23,6 +23,29 @@ The driver is not currently suitable for general use.
[slides](https://lpc.events/event/16/contributions/1180/attachments/1017/1961/deck.pdf)
and [video](https://lpc.events/event/16/contributions/1180/attachments/1017/2249/go)

## 6.8 Rebase Performance ([`rnvme-v6.8`](https://github.com/metaspace/linux/tree/rnvme-v6.8))

### Setup

- AMD Ryzen 5 7600
- 32 GB 4800 MT/s DDR5 on one channel
- 1x Samsung 990 Pro 1TB (PCIe 4.0 x4 16 GT/S)
- NixOS 23.11

### Results

- 40 samples
- Difference of means modeled with t-distribution
- P95 confidence intervals

![](rnvme/nvme-v6.8-absolute.svg)

![](rnvme/nvme-v6.8-relative.svg)

The graph shows \\( \frac{R-C}{C} \\) where C is IO/s for the C driver and R is
IO/s for the Rust driver. Thus, negative means the C driver is faster while
positive means the Rust driver is faster.

## 6.7 Rebase Performance ([`nvme-6.7`](https://github.com/metaspace/linux/tree/nvme-6.7))

### Setup
Expand Down
Loading

0 comments on commit 9ac9fe4

Please sign in to comment.