@@ -66,6 +66,68 @@ in this work:
66
66
- [ Original RFC Patches] ( https://github.com/metaspace/linux/tree/null_block-RFC )
67
67
- [ Mailing List Post
] ( https://lore.kernel.org/all/[email protected] / )
68
68
69
+ ## 6.10-rc3 Rebase ([ ` rnull-v6.10-rc3 ` ] ( https://github.com/metaspace/linux/tree/rnull-v6.10-rc3 ) )
70
+
71
+ Changes from ` rnull-v6.9 ` :
72
+
73
+ - Add ` ForeignBorrowed ` .
74
+ - Move ` GenDisk ` to a builder pattern instead of typestate pattern.
75
+ - Move block size validation from driver to abstractions.
76
+ - Pin ` NullBlkModuel ` .
77
+ - Refactor ` Request::try_set_end ` .
78
+ - Rewrite atomic functions in terms of ` core ` library functions.
79
+ - Fix a bug in timer completions where an offset was not calculated correctly.
80
+ - Refactor ` TagSet ` initialization in terms of ` core::mem::zeroed() ` instead of ` Opaque::try_ffi_init `
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.05
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.10-rc3.svg )
99
+
100
+ ## 6.9 Rebase ([ ` rnull-v6.9 ` ] ( https://github.com/metaspace/linux/tree/rnull-v6.9 ) )
101
+
102
+ Changes from ` rnull-v6.8 ` :
103
+
104
+ - Do not rely on C refcounting of ` Request `
105
+ - Use ` ARef ` to track ` Request ` lifetime
106
+ - Use ` Page ` instead of ` Folio ` to track memory for memory backed mode
107
+ - Use typestate pattern to track state of ` GenDisk `
108
+ - Panic when requests cannot be completed
109
+ - Remove associated type ` RequestDataInit ` and use return position impl trait instead
110
+ - Call ` Request::start ` implicitly
111
+ - Split helper function C file
112
+
113
+ ### Performance
114
+
115
+ #### Setup
116
+
117
+ - AMD Ryzen 5 7600
118
+ - 32 GB 4800 MT/s DDR5 on one channel
119
+ - 1x Samsung 990 Pro 1TB (PCIe 4.0 x4 16 GT/S)
120
+ - NixOS 24.05
121
+
122
+ #### Results
123
+
124
+ - Plot shows ` (mean_iops_r - mean_iops_c) / mean_iops_c `
125
+ - 5 samples for each configuration
126
+ - Difference of means modeled with t-distribution
127
+ - P95 confidence intervals
128
+
129
+ ![ ] ( rnull/rnull-v6.9.svg )
130
+
69
131
## 6.8 Rebase ([ ` rnull-v6.8 ` ] ( https://github.com/metaspace/linux/tree/rnull-v6.8 ) )
70
132
71
133
Changes from ` rnull-v6.8-rc6 ` :
0 commit comments