diff --git a/src/NVMe-driver.md b/src/NVMe-driver.md
index d38e324..6523434 100644
--- a/src/NVMe-driver.md
+++ b/src/NVMe-driver.md
@@ -5,6 +5,7 @@ for use in the Linux Kernel. The purpose of the driver is to provide a vehicle
for development of safe Rust abstractions and to prove feasibility of Rust as an
implementation language for high performance device drivers.
+
The Linux Rust NVMe driver lives
[here](https://github.com/metaspace/linux/tree/nvme). This branch is routinely
rebased on upstream Linux releases. Please be aware that the `nvme` branch is
@@ -22,6 +23,34 @@ The driver is not currently suitable for general use.
[slides](https://lpc.events/event/16/contributions/1180/attachments/1017/1961/deck.pdf)
and [video](https://lpc.events/event/16/contributions/1180/attachments/1017/2249/go)
+# Performance November 2023 ([`nvme-6.6`](https://github.com/metaspace/linux/tree/nvme-6.6))
+
+## Setup
+
+ - 12th Gen Intel(R) Core(TM) i5-12600
+ - 32 GB DRAM
+ - 1x INTEL MEMPEK1W016GA (PCIe 3.0 x2)
+ - Debian Bullseye userspace
+ - LTO results are enabled by a build system patch (a hack) that was not yet published.
+
+## Results
+
+- 30 samples
+- Difference of means modeled with t-distribution
+- P99 confidence intervals
+
+![](rnvme/nvme-all-6.6.svg)
+
+### Difference
+
+![](rnvme/nvme-diff-6.6.svg)
+
+### Difference Relative
+
+Plot shows `(mean_iops_r - mean_iops_c) / mean_iops_c`'
+
+![](rnvme/nvme-diff-relative-6.6.svg)
+
# Performance September 2023
The driver was
diff --git a/src/Null-Block-Driver.md b/src/Null-Block-Driver.md
index 04c3090..b66272f 100644
--- a/src/Null-Block-Driver.md
+++ b/src/Null-Block-Driver.md
@@ -33,7 +33,9 @@ contained in the abstractions that wrap the C APIs.
Implemented features:
- `blk-mq` support
- - Direct completion of IO
+ - Direct completion
+ - SoftIRQ completion
+ - Timer completion
- Read and write requests
- Optional memory backing
@@ -45,7 +47,6 @@ in this work:
- Block size configuration
- Multiple devices
- Dynamic device creation/destruction
- - Soft-IRQ and timer mode
- Queue depth configuration
- Queue count configuration
- Discard operation support
@@ -61,11 +62,29 @@ in this work:
## Resources
- - [Patches for 6.6](https://github.com/metaspace/linux/tree/null_blk-next-for-6.6)
+ - [Latest patches](https://github.com/metaspace/linux/tree/null_blk)
- [Original RFC Patches](https://github.com/metaspace/linux/tree/null_block-RFC)
- [Mailing List Post](https://lore.kernel.org/all/20230503090708.2524310-1-nmi@metaspace.dk/)
-# Performance
+# Performance September 2023 ([`null_blk-6.6`](https://github.com/metaspace/linux/tree/null_blk-6.6))
+
+## Setup
+
+ - 12th Gen Intel(R) Core(TM) i5-12600
+ - 32 GB DRAM
+ - 1x INTEL MEMPEK1W016GA (PCIe 3.0 x2)
+ - Debian Bullseye userspace
+
+## Results
+
+- Plot shows `(mean_iops_r - mean_iops_c) / mean_iops_c`
+- 40 samples
+- Difference of means modeled with t-distribution
+- P95 confidence intervals
+
+![](rnull/null_blk-6.6.svg)
+
+# Performance September 2023
## Setup
diff --git a/src/rnull/null_blk-6.6.svg b/src/rnull/null_blk-6.6.svg
new file mode 100644
index 0000000..0eb7d4b
--- /dev/null
+++ b/src/rnull/null_blk-6.6.svg
@@ -0,0 +1,4819 @@
+
+
+
diff --git a/src/rnvme/nvme-all-6.6.svg b/src/rnvme/nvme-all-6.6.svg
new file mode 100644
index 0000000..6ed533b
--- /dev/null
+++ b/src/rnvme/nvme-all-6.6.svg
@@ -0,0 +1,1688 @@
+
+
+
diff --git a/src/rnvme/nvme-diff-6.6.svg b/src/rnvme/nvme-diff-6.6.svg
new file mode 100644
index 0000000..2891112
--- /dev/null
+++ b/src/rnvme/nvme-diff-6.6.svg
@@ -0,0 +1,1768 @@
+
+
+
diff --git a/src/rnvme/nvme-diff-relative-6.6.svg b/src/rnvme/nvme-diff-relative-6.6.svg
new file mode 100644
index 0000000..6da98bc
--- /dev/null
+++ b/src/rnvme/nvme-diff-relative-6.6.svg
@@ -0,0 +1,1829 @@
+
+
+