Skip to content

Commit 3b2001f

Browse files
authored
Merge pull request #46 from metaspace/block-v6.15
Block v6.15
2 parents 05c3861 + 51cfcce commit 3b2001f

File tree

6 files changed

+65896
-1
lines changed

6 files changed

+65896
-1
lines changed

src/NVMe-driver.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,41 @@ The driver is not currently suitable for general use.
2424
[slides](https://lpc.events/event/16/contributions/1180/attachments/1017/1961/deck.pdf)
2525
and [video](https://lpc.events/event/16/contributions/1180/attachments/1017/2249/go)
2626

27+
## 6.15 Rebase Performance ([`rnvme-v6.15`](https://git.kernel.org/pub/scm/linux/kernel/git/a.hindborg/linux.git/log/?h=rnvme-v6.15))
28+
29+
### Setup
30+
31+
- AMD Ryzen 5 7600
32+
- 32 GB 4800 MT/s DDR5 on one channel
33+
- 1x Samsung 990 Pro 1TB (PCIe 4.0 x4 16 GT/S)
34+
- NixOS 24.11
35+
36+
### Results
37+
38+
- 40 samples
39+
- Difference of means modeled with t-distribution
40+
- P95 confidence intervals
41+
42+
![](rnvme/nvme-v6.15-absolute.svg)
43+
44+
![](rnvme/nvme-v6.15-relative.svg)
45+
46+
The graph shows
47+
<math>
48+
<mfrac>
49+
<mrow>
50+
<mi>R</mi>
51+
<mo>-</mo>
52+
<mi>C</mi>
53+
</mrow>
54+
<mrow>
55+
<mi>C</mi>
56+
</mrow>
57+
</mfrac>
58+
</math>
59+
where C is IO/s for the C driver and R is IO/s for the Rust driver. Thus, negative
60+
means the C driver is faster while positive means the Rust driver is faster.
61+
2762
## 6.14-rc5 Rebase Performance ([`rnvme-v6.14-rc5`](https://git.kernel.org/pub/scm/linux/kernel/git/a.hindborg/linux.git/log/?h=rnvme-v6.14-rc5))
2863

2964
### Setup

src/Null-Block-Driver.md

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ Implemented features:
5050
- Multiple devices
5151
- Dynamic device creation/destruction
5252
- Queue count configuration
53+
- Per node hctx
5354

5455
Features available in the C `null_blk` driver that are currently not implemented
5556
in this work:
@@ -58,7 +59,6 @@ in this work:
5859
- Discard operation support
5960
- Cache emulation
6061
- Bandwidth throttling
61-
- Per node hctx
6262
- IO scheduler configuration
6363
- Blocking submission mode
6464
- Shared tags configuration (for >1 device)
@@ -73,6 +73,38 @@ in this work:
7373
- [Mailing List Post](https://lore.kernel.org/all/20230503090708.2524310-1-nmi@metaspace.dk/)
7474
- [Subset merged in v6.11-rc1](https://lore.kernel.org/all/20240611114551.228679-1-nmi@metaspace.dk/)
7575

76+
## 6.15 Rebase ([`rnull-v6.15`](https://git.kernel.org/pub/scm/linux/kernel/git/a.hindborg/linux.git/log/?h=rnull-v6.15))
77+
78+
Changes from `rnull-v6.14`:
79+
80+
- No changes
81+
82+
### Performance
83+
84+
#### Setup
85+
86+
- AMD Ryzen 5 7600
87+
- 32 GB 4800 MT/s DDR5 on one channel
88+
- 1x Samsung 990 Pro 1TB (PCIe 4.0 x4 16 GT/S)
89+
- NixOS 24.11
90+
91+
#### Results
92+
93+
- Plot shows `(mean_iops_r - mean_iops_c) / mean_iops_c`
94+
- 40 samples for each configuration
95+
- Difference of means modeled with t-distribution
96+
- P95 confidence intervals
97+
98+
![](rnull/rnull-v6.15.svg)
99+
100+
101+
##### Sample Distribution
102+
103+
- C left bounded by blue line.
104+
- Rust right bounded by orange line.
105+
106+
![](rnull/rnull-v6.15-density.svg)
107+
76108
## 6.14-rc5 Rebase ([`rnull-v6.14-rc5`](https://git.kernel.org/pub/scm/linux/kernel/git/a.hindborg/linux.git/log/?h=rnull-v6.14-rc5))
77109

78110
Changes from `rnull-v6.13`:

0 commit comments

Comments
 (0)