Skip to content

Commit 6eed0ff

Browse files
authored
Merge pull request #33 from metaspace/october
Block subsystem update for October (v6.11, v6.12-rc2)
2 parents 24834dd + 7abfd6e commit 6eed0ff

9 files changed

+18539
-0
lines changed

flake.nix

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
2+
{
3+
description = "Shell for building rust-for-linux.com";
4+
inputs.nixpkgs.url = "nixpkgs/nixos-24.05";
5+
inputs.systems.url = "github:nix-systems/default";
6+
inputs.flake-utils = {
7+
url = "github:numtide/flake-utils";
8+
inputs.systems.follows = "systems";
9+
};
10+
11+
outputs =
12+
{ nixpkgs, flake-utils, ... }:
13+
flake-utils.lib.eachDefaultSystem (
14+
system:
15+
let
16+
pkgs = nixpkgs.legacyPackages.${system};
17+
in
18+
{
19+
devShells.default = pkgs.mkShell { packages = with pkgs; [
20+
python3
21+
mdbook
22+
]; };
23+
}
24+
);
25+
}

src/NVMe-driver.md

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,76 @@ 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.12-rc2 Rebase Performance ([`rnvme-v6.12-rc2`](https://git.kernel.org/pub/scm/linux/kernel/git/a.hindborg/linux.git/log/?h=rnvme-v6.12-rc2))
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.05
35+
36+
### Results
37+
38+
- 40 samples
39+
- Difference of means modeled with t-distribution
40+
- P95 confidence intervals
41+
42+
![](rnvme/nvme-v6.12-rc2-absolute.svg)
43+
44+
![](rnvme/nvme-v6.12-rc2-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+
62+
## 6.11 Rebase Performance ([`rnvme-v6.11`](https://git.kernel.org/pub/scm/linux/kernel/git/a.hindborg/linux.git/log/?h=rnvme-v6.11))
63+
64+
### Setup
65+
66+
- AMD Ryzen 5 7600
67+
- 32 GB 4800 MT/s DDR5 on one channel
68+
- 1x Samsung 990 Pro 1TB (PCIe 4.0 x4 16 GT/S)
69+
- NixOS 24.05
70+
71+
### Results
72+
73+
- 40 samples
74+
- Difference of means modeled with t-distribution
75+
- P95 confidence intervals
76+
77+
![](rnvme/nvme-v6.11-absolute.svg)
78+
79+
![](rnvme/nvme-v6.11-relative.svg)
80+
81+
The graph shows
82+
<math>
83+
<mfrac>
84+
<mrow>
85+
<mi>R</mi>
86+
<mo>-</mo>
87+
<mi>C</mi>
88+
</mrow>
89+
<mrow>
90+
<mi>C</mi>
91+
</mrow>
92+
</mfrac>
93+
</math>
94+
where C is IO/s for the C driver and R is IO/s for the Rust driver. Thus, negative
95+
means the C driver is faster while positive means the Rust driver is faster.
96+
2797
## 6.11-rc2 Rebase Performance ([`rnvme-v6.11-rc2`](https://git.kernel.org/pub/scm/linux/kernel/git/a.hindborg/linux.git/log/?h=rnvme-v6.11-rc2))
2898

2999
### Setup

src/Null-Block-Driver.md

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,54 @@ in this work:
6767
- [Mailing List Post](https://lore.kernel.org/all/[email protected]/)
6868
- [Subset merged in v6.11-rc1](https://lore.kernel.org/all/[email protected]/)
6969

70+
## 6.12-rc2 Rebase ([`rnull-v6.12-rc2`](https://git.kernel.org/pub/scm/linux/kernel/git/a.hindborg/linux.git/log/?h=rnull-v6.12-rc2))
71+
72+
Changes from `rnull-v6.10`:
73+
74+
- Make `QueueData` references pinned.
75+
76+
### Performance
77+
78+
#### Setup
79+
80+
- AMD Ryzen 5 7600
81+
- 32 GB 4800 MT/s DDR5 on one channel
82+
- 1x Samsung 990 Pro 1TB (PCIe 4.0 x4 16 GT/S)
83+
- NixOS 24.05
84+
85+
#### Results
86+
87+
- Plot shows `(mean_iops_r - mean_iops_c) / mean_iops_c`
88+
- 40 samples for each configuration
89+
- Difference of means modeled with t-distribution
90+
- P95 confidence intervals
91+
92+
![](rnull/rnull-v6.12-rc2.svg)
93+
94+
## 6.11 Rebase ([`rnull-v6.11`](https://git.kernel.org/pub/scm/linux/kernel/git/a.hindborg/linux.git/log/?h=rnull-v6.11))
95+
96+
Changes from `rnull-v6.10`:
97+
98+
- None.
99+
100+
### Performance
101+
102+
#### Setup
103+
104+
- AMD Ryzen 5 7600
105+
- 32 GB 4800 MT/s DDR5 on one channel
106+
- 1x Samsung 990 Pro 1TB (PCIe 4.0 x4 16 GT/S)
107+
- NixOS 24.05
108+
109+
#### Results
110+
111+
- Plot shows `(mean_iops_r - mean_iops_c) / mean_iops_c`
112+
- 40 samples for each configuration
113+
- Difference of means modeled with t-distribution
114+
- P95 confidence intervals
115+
116+
![](rnull/rnull-v6.11.svg)
117+
70118
## 6.11-rc2 Rebase ([`rnull-v6.11-rc2`](https://git.kernel.org/pub/scm/linux/kernel/git/a.hindborg/linux.git/log/?h=rnull-v6.11-rc2))
71119

72120
Changes from `rnull-v6.10`:

0 commit comments

Comments
 (0)