Skip to content

Commit 1f43f39

Browse files
committed
NVMe driver: use an extra # for non-title headers
Signed-off-by: Miguel Ojeda <[email protected]>
1 parent 0efb748 commit 1f43f39

File tree

1 file changed

+19
-19
lines changed

1 file changed

+19
-19
lines changed

src/NVMe-driver.md

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -18,101 +18,101 @@ authored by Wedson Almeida Filho and is now maintained by Andreas Hindborg
1818

1919
The driver is not currently suitable for general use.
2020

21-
# Resources
21+
## Resources
2222
- LPC 2022
2323
[slides](https://lpc.events/event/16/contributions/1180/attachments/1017/1961/deck.pdf)
2424
and [video](https://lpc.events/event/16/contributions/1180/attachments/1017/2249/go)
2525

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

28-
## Setup
28+
### Setup
2929

3030
- 12th Gen Intel(R) Core(TM) i5-12600
3131
- 32 GB DRAM
3232
- 1x INTEL MEMPEK1W016GA (PCIe 3.0 x2)
3333
- Debian Bullseye userspace
3434
- LTO results are enabled by a build system patch (a hack) that was not yet published.
3535

36-
## Results
36+
### Results
3737

3838
- 30 samples
3939
- Difference of means modeled with t-distribution
4040
- P99 confidence intervals
4141

4242
![](rnvme/nvme-all-6.7.svg)
4343

44-
### Difference Relative
44+
#### Difference Relative
4545

4646
Plot shows `(mean_iops_r - mean_iops_c) / mean_iops_c`'
4747

4848
![](rnvme/nvme-diff-relative-6.7.svg)
4949

50-
# Performance November 2023 ([`nvme-6.6`](https://github.com/metaspace/linux/tree/nvme-6.6))
50+
## Performance November 2023 ([`nvme-6.6`](https://github.com/metaspace/linux/tree/nvme-6.6))
5151

52-
## Setup
52+
### Setup
5353

5454
- 12th Gen Intel(R) Core(TM) i5-12600
5555
- 32 GB DRAM
5656
- 1x INTEL MEMPEK1W016GA (PCIe 3.0 x2)
5757
- Debian Bullseye userspace
5858
- LTO results are enabled by a build system patch (a hack) that was not yet published.
5959

60-
## Results
60+
### Results
6161

6262
- 30 samples
6363
- Difference of means modeled with t-distribution
6464
- P99 confidence intervals
6565

6666
![](rnvme/nvme-all-6.6.svg)
6767

68-
### Difference
68+
#### Difference
6969

7070
![](rnvme/nvme-diff-6.6.svg)
7171

72-
### Difference Relative
72+
#### Difference Relative
7373

7474
Plot shows `(mean_iops_r - mean_iops_c) / mean_iops_c`'
7575

7676
![](rnvme/nvme-diff-relative-6.6.svg)
7777

78-
# Performance September 2023
78+
## Performance September 2023
7979

8080
The driver was
8181
[rebased](https://github.com/metaspace/linux/tree/7353a81d566510080f91099b1a2b31895c716c9d)
8282
on top of
8383
[`rust-next`](https://github.com/Rust-for-Linux/linux/commit/37152d4a7c6400a4250134e601eca8be1a2bbc16)
8484
PR for 6.6 in September 2023.
8585

86-
## Setup
86+
### Setup
8787

8888
- 12th Gen Intel(R) Core(TM) i5-12600
8989
- 32 GB DRAM
9090
- 1x INTEL MEMPEK1W016GA (PCIe 3.0 x2)
9191
- Debian Bullseye userspace
9292

93-
## Results
93+
### Results
9494

9595
![iops-512](./nvme-512.svg)
9696
![iops-all](./nvme-all.svg)
9797

98-
# Performance January 2023
98+
## Performance January 2023
9999

100100
Performance evaluation as of January 2023.
101101

102-
## Setup
102+
### Setup
103103

104104
- Dell PowerEdge R6525
105105
- 1 CPU socket populated - EPYC 7313, 16 cores
106106
- 128 GB DRAM
107107
- 3x P5800x 16GT/s x4 7.88 GB/s (PCIe 4)
108108
- Debian bullseye (linux 5.19.0+)
109109

110-
## Results
110+
### Results
111111

112112
![iops](./iops.svg)
113113
![relative](./relative.svg)
114114

115-
## Analysis
115+
### Analysis
116116

117117
For 4 KiB block size, the Rust NVMe driver performs similar to the C driver. For
118118
this configuration the target drive is bandwidth limited.
@@ -121,7 +121,7 @@ For 512 B block size, the C driver outperforms the Rust driver by up to 6%. In
121121
this configuration the drive is not bandwidth limited, but the benchmark becomes
122122
compute limited. The Rust driver has a higher overhead and thus performs worse.
123123

124-
# Work Items
124+
## Work Items
125125

126126
- Remove all unsafe code from the driver
127127
- Support device removal
@@ -130,7 +130,7 @@ compute limited. The Rust driver has a higher overhead and thus performs worse.
130130
- Support more kernel configurations by deferring initialization to a task queue
131131
- Improve performance of Rust NVMe driver
132132

133-
# Contact
133+
## Contact
134134

135135
Please contact Andreas Hindborg through
136136
[Zulip](Contact.md#zulip-chat).

0 commit comments

Comments
 (0)