@@ -18,101 +18,101 @@ authored by Wedson Almeida Filho and is now maintained by Andreas Hindborg
1818
1919The 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
4646Plot 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
7474Plot 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
8080The driver was
8181[ rebased] ( https://github.com/metaspace/linux/tree/7353a81d566510080f91099b1a2b31895c716c9d )
8282on top of
8383[ ` rust-next ` ] ( https://github.com/Rust-for-Linux/linux/commit/37152d4a7c6400a4250134e601eca8be1a2bbc16 )
8484PR 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
100100Performance 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
117117For 4 KiB block size, the Rust NVMe driver performs similar to the C driver. For
118118this 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
121121this configuration the drive is not bandwidth limited, but the benchmark becomes
122122compute 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
135135Please contact Andreas Hindborg through
136136[ Zulip] ( Contact.md#zulip-chat ) .
0 commit comments