@@ -36,6 +36,8 @@ monitoring the situation going forward.
3636
3737## Features
3838
39+ The Rust null block driver has feature parity with the C null block driver.
40+
3941Implemented features:
4042
4143 - ` blk-mq ` support
@@ -59,20 +61,56 @@ Implemented features:
5961 - Blocking submission mode
6062 - Shared tags configuration (for >1 device)
6163 - Bad block simulation
62-
63- Features available in the C ` null_blk ` driver that are currently not implemented
64- in this work:
65-
6664 - Zoned storage support
6765 - Poll queues
6866
67+
6968## Resources
7069
7170 - [ Latest patches] ( https://git.kernel.org/pub/scm/linux/kernel/git/a.hindborg/linux.git/log/?h=rnull )
7271 - [ Original RFC Patches] ( https://github.com/metaspace/linux/tree/null_block-RFC )
7372 - [ Mailing List Post] ( https://lore.kernel.org/all/20230503090708.2524310-1-nmi@metaspace.dk/ )
7473 - [ Subset merged in v6.11-rc1] ( https://lore.kernel.org/all/20240611114551.228679-1-nmi@metaspace.dk/ )
7574
75+
76+ ## 6.19-rc5, Rebase ([ ` rnull-v6.19-rc5 ` ] ( https://git.kernel.org/pub/scm/linux/kernel/git/a.hindborg/linux.git/log/?h=rnull-v6.19-rc5 ) )
77+
78+ Changes from ` rnull-v6.18 ` :
79+ - Add global tag set support.
80+ - Add fault-injection support.
81+ - Add zoned device emulation.
82+ - Add poll queue support.
83+ - Add ` REQ_OP_FLUSH ` handling.
84+ - Add FUA support.
85+ - Add support for dynamic queue configuration.
86+ - Add ` queue_rqs ` support for batch request queuing.
87+ - Add max IO size configuration.
88+ - Add virt_boundary option.
89+ - Add shared_tag_bitmap` option.### Performance
90+
91+ #### Setup
92+
93+ - AMD Ryzen 5 7600
94+ - 32 GB 4800 MT/s DDR5 on one channel
95+ - 1x Samsung 990 Pro 1TB (PCIe 4.0 x4 16 GT/S)
96+ - NixOS 24.11
97+
98+ #### Results
99+
100+ - Plot shows ` (mean_iops_r - mean_iops_c) / mean_iops_c `
101+ - 40 samples for each configuration
102+ - Difference of means modeled with t-distribution
103+ - P95 confidence intervals
104+
105+ ![ ] ( rnull/rnull-v6.19-rc5.svg )
106+
107+ ##### Sample Distribution
108+
109+ - C left bounded by blue line.
110+ - Rust right bounded by orange line.
111+
112+ ![ ] ( rnull/rnull-v6.19-rc5-density.svg )
113+
76114## 6.18-rc5, Rebase ([ ` rnull-v6.18-rc5 ` ] ( https://git.kernel.org/pub/scm/linux/kernel/git/a.hindborg/linux.git/log/?h=rnull-v6.18-rc5 ) )
77115
78116Changes from ` rnull-v6.17.7 ` :
0 commit comments