From 9c67957bc1c0c79dde4e471edbb7c1efc0915abf Mon Sep 17 00:00:00 2001 From: Andreas Hindborg Date: Wed, 4 Sep 2024 11:41:45 +0200 Subject: [PATCH 1/6] rnvme: move figures to organize Move some of the early svg figures over with the rest of the NVMe figures. Signed-off-by: Andreas Hindborg --- src/NVMe-driver.md | 8 ++++---- src/{iops.svg => rnvme/iops-jan23.svg} | 0 src/{nvme-512.svg => rnvme/nvme-512-sep23.svg} | 0 src/{nvme-all.svg => rnvme/nvme-all-sep23.svg} | 0 src/{relative.svg => rnvme/relative-jan23.svg} | 0 5 files changed, 4 insertions(+), 4 deletions(-) rename src/{iops.svg => rnvme/iops-jan23.svg} (100%) rename src/{nvme-512.svg => rnvme/nvme-512-sep23.svg} (100%) rename src/{nvme-all.svg => rnvme/nvme-all-sep23.svg} (100%) rename src/{relative.svg => rnvme/relative-jan23.svg} (100%) diff --git a/src/NVMe-driver.md b/src/NVMe-driver.md index 4fe4216..6bd6e55 100644 --- a/src/NVMe-driver.md +++ b/src/NVMe-driver.md @@ -197,8 +197,8 @@ PR for 6.6 in September 2023. ### Results -![iops-512](./nvme-512.svg) -![iops-all](./nvme-all.svg) +![iops-512](./rnvme/nvme-512-sep23.svg) +![iops-all](./rnvme/nvme-all-sep23.svg) ## Performance January 2023 @@ -214,8 +214,8 @@ Performance evaluation as of January 2023. ### Results -![iops](./iops.svg) -![relative](./relative.svg) +![iops](./rnvme/iops-jan23.svg) +![relative](./rnvme/relative-jan23.svg) ### Analysis diff --git a/src/iops.svg b/src/rnvme/iops-jan23.svg similarity index 100% rename from src/iops.svg rename to src/rnvme/iops-jan23.svg diff --git a/src/nvme-512.svg b/src/rnvme/nvme-512-sep23.svg similarity index 100% rename from src/nvme-512.svg rename to src/rnvme/nvme-512-sep23.svg diff --git a/src/nvme-all.svg b/src/rnvme/nvme-all-sep23.svg similarity index 100% rename from src/nvme-all.svg rename to src/rnvme/nvme-all-sep23.svg diff --git a/src/relative.svg b/src/rnvme/relative-jan23.svg similarity index 100% rename from src/relative.svg rename to src/rnvme/relative-jan23.svg From bb548791b2d0764c430f06f690a2813391f926cf Mon Sep 17 00:00:00 2001 From: Andreas Hindborg Date: Wed, 4 Sep 2024 12:08:04 +0200 Subject: [PATCH 2/6] rnull: add benchmark resultfs for v6.10 Signed-off-by: Andreas Hindborg --- src/Null-Block-Driver.md | 24 + src/rnull/rnull-v6.10.svg | 4624 +++++++++++++++++++++++++++++++++++++ 2 files changed, 4648 insertions(+) create mode 100644 src/rnull/rnull-v6.10.svg diff --git a/src/Null-Block-Driver.md b/src/Null-Block-Driver.md index b7d8e72..953e502 100644 --- a/src/Null-Block-Driver.md +++ b/src/Null-Block-Driver.md @@ -66,6 +66,30 @@ in this work: - [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/) +## 6.10 Rebase ([`rnull-v6.10`](https://git.kernel.org/pub/scm/linux/kernel/git/a.hindborg/linux.git/log/?h=rnull-v6.10)) + +Changes from `rnull-v6.10-rc3`: + + - None + +### Performance + +#### Setup + + - AMD Ryzen 5 7600 + - 32 GB 4800 MT/s DDR5 on one channel + - 1x Samsung 990 Pro 1TB (PCIe 4.0 x4 16 GT/S) + - NixOS 24.05 + +#### Results + +- Plot shows `(mean_iops_r - mean_iops_c) / mean_iops_c` +- 40 samples for each configuration +- Difference of means modeled with t-distribution +- P95 confidence intervals + +![](rnull/rnull-v6.10.svg) + ## 6.10-rc3 Rebase ([`rnull-v6.10-rc3`](https://github.com/metaspace/linux/tree/rnull-v6.10-rc3)) Changes from `rnull-v6.9`: diff --git a/src/rnull/rnull-v6.10.svg b/src/rnull/rnull-v6.10.svg new file mode 100644 index 0000000..0f58859 --- /dev/null +++ b/src/rnull/rnull-v6.10.svg @@ -0,0 +1,4624 @@ + + + + + + + + 2024-08-22T11:51:22.196744 + image/svg+xml + + + Matplotlib v3.9.0, https://matplotlib.org/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 3cc96307e0cc2c9326810afe7d14e0da58b4a324 Mon Sep 17 00:00:00 2001 From: Andreas Hindborg Date: Wed, 4 Sep 2024 12:22:02 +0200 Subject: [PATCH 3/6] rnull: add benchmark results for v6.11-rc2 Signed-off-by: Andreas Hindborg --- src/Null-Block-Driver.md | 26 + src/rnull/rnull-v6.11-rc2.svg | 5140 +++++++++++++++++++++++++++++++++ 2 files changed, 5166 insertions(+) create mode 100644 src/rnull/rnull-v6.11-rc2.svg diff --git a/src/Null-Block-Driver.md b/src/Null-Block-Driver.md index 953e502..fd886e4 100644 --- a/src/Null-Block-Driver.md +++ b/src/Null-Block-Driver.md @@ -65,6 +65,32 @@ in this work: - [Latest patches](https://github.com/metaspace/linux/tree/rnull) - [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/) + - [Subset merged in v6.11-rc1](https://lore.kernel.org/all/20240611114551.228679-1-nmi@metaspace.dk/) + +## 6.11-rc2 Rebase ([`rnull-v6.11-rc2`](https://git.kernel.org/pub/scm/linux/kernel/git/a.hindborg/linux.git/log/?h=rnull-v6.11-rc2)) + +Changes from `rnull-v6.10`: + + - Base abstractions merged upstream 🥳 + - Use atomic queue limits C API for setting queue limits. + +### Performance + +#### Setup + + - AMD Ryzen 5 7600 + - 32 GB 4800 MT/s DDR5 on one channel + - 1x Samsung 990 Pro 1TB (PCIe 4.0 x4 16 GT/S) + - NixOS 24.05 + +#### Results + +- Plot shows `(mean_iops_r - mean_iops_c) / mean_iops_c` +- 40 samples for each configuration +- Difference of means modeled with t-distribution +- P95 confidence intervals + +![](rnull/rnull-v6.11-rc2.svg) ## 6.10 Rebase ([`rnull-v6.10`](https://git.kernel.org/pub/scm/linux/kernel/git/a.hindborg/linux.git/log/?h=rnull-v6.10)) diff --git a/src/rnull/rnull-v6.11-rc2.svg b/src/rnull/rnull-v6.11-rc2.svg new file mode 100644 index 0000000..4244f35 --- /dev/null +++ b/src/rnull/rnull-v6.11-rc2.svg @@ -0,0 +1,5140 @@ + + + + + + + + 2024-09-04T11:51:31.695333 + image/svg+xml + + + Matplotlib v3.9.0, https://matplotlib.org/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 2e229eac7f1cd8636b870e9d6a27562b8086c7a3 Mon Sep 17 00:00:00 2001 From: Andreas Hindborg Date: Wed, 4 Sep 2024 12:30:09 +0200 Subject: [PATCH 4/6] rnvme: add benchmark results for v6.10 Signed-off-by: Andreas Hindborg --- src/NVMe-driver.md | 35 + src/rnvme/nvme-v6.10-absolute.svg | 2331 +++++++++++++++++++++++++++++ src/rnvme/nvme-v6.10-relative.svg | 1861 +++++++++++++++++++++++ 3 files changed, 4227 insertions(+) create mode 100644 src/rnvme/nvme-v6.10-absolute.svg create mode 100644 src/rnvme/nvme-v6.10-relative.svg diff --git a/src/NVMe-driver.md b/src/NVMe-driver.md index 6bd6e55..b18ba39 100644 --- a/src/NVMe-driver.md +++ b/src/NVMe-driver.md @@ -23,6 +23,41 @@ 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) +## 6.10 Rebase Performance ([`rnvme-v6.10`](https://git.kernel.org/pub/scm/linux/kernel/git/a.hindborg/linux.git/log/?h=rnvme-v6.10)) + +### Setup + + - AMD Ryzen 5 7600 + - 32 GB 4800 MT/s DDR5 on one channel + - 1x Samsung 990 Pro 1TB (PCIe 4.0 x4 16 GT/S) + - NixOS 24.05 + +### Results + +- 40 samples +- Difference of means modeled with t-distribution +- P95 confidence intervals + +![](rnvme/nvme-v6.10-absolute.svg) + +![](rnvme/nvme-v6.10-relative.svg) + +The graph shows + + + + R + - + C + + + C + + + +where C is IO/s for the C driver and R is IO/s for the Rust driver. Thus, negative +means the C driver is faster while positive means the Rust driver is faster. + ## 6.10-rc5 Rebase Performance ([`rnvme-v6.10-rc5`](https://github.com/metaspace/linux/tree/rnvme-v6.10-rc5)) ### Setup diff --git a/src/rnvme/nvme-v6.10-absolute.svg b/src/rnvme/nvme-v6.10-absolute.svg new file mode 100644 index 0000000..fa8e61b --- /dev/null +++ b/src/rnvme/nvme-v6.10-absolute.svg @@ -0,0 +1,2331 @@ + + + + + + + + 2024-08-22T11:56:44.987406 + image/svg+xml + + + Matplotlib v3.9.0, https://matplotlib.org/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/rnvme/nvme-v6.10-relative.svg b/src/rnvme/nvme-v6.10-relative.svg new file mode 100644 index 0000000..a82037a --- /dev/null +++ b/src/rnvme/nvme-v6.10-relative.svg @@ -0,0 +1,1861 @@ + + + + + + + + 2024-08-22T11:56:44.855572 + image/svg+xml + + + Matplotlib v3.9.0, https://matplotlib.org/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 117c358f7415d78bcf9deeac4af166db93a304ff Mon Sep 17 00:00:00 2001 From: Andreas Hindborg Date: Wed, 4 Sep 2024 12:32:22 +0200 Subject: [PATCH 5/6] rnvme: add benchmark results for v6.11-rc2 Signed-off-by: Andreas Hindborg --- src/NVMe-driver.md | 35 + src/rnvme/nvme-v6.11-rc2-absolute.svg | 2331 +++++++++++++++++++++++++ src/rnvme/nvme-v6.11-rc2-relative.svg | 1903 ++++++++++++++++++++ 3 files changed, 4269 insertions(+) create mode 100644 src/rnvme/nvme-v6.11-rc2-absolute.svg create mode 100644 src/rnvme/nvme-v6.11-rc2-relative.svg diff --git a/src/NVMe-driver.md b/src/NVMe-driver.md index b18ba39..aaddc10 100644 --- a/src/NVMe-driver.md +++ b/src/NVMe-driver.md @@ -23,6 +23,41 @@ 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) +## 6.11-rc2 Rebase Performance ([`rnvme-v6.11-rc2`](https://git.kernel.org/pub/scm/linux/kernel/git/a.hindborg/linux.git/log/?h=rnvme-v6.11-rc2)) + +### Setup + + - AMD Ryzen 5 7600 + - 32 GB 4800 MT/s DDR5 on one channel + - 1x Samsung 990 Pro 1TB (PCIe 4.0 x4 16 GT/S) + - NixOS 24.05 + +### Results + +- 40 samples +- Difference of means modeled with t-distribution +- P95 confidence intervals + +![](rnvme/nvme-v6.11-rc2-absolute.svg) + +![](rnvme/nvme-v6.11-rc2-relative.svg) + +The graph shows + + + + R + - + C + + + C + + + +where C is IO/s for the C driver and R is IO/s for the Rust driver. Thus, negative +means the C driver is faster while positive means the Rust driver is faster. + ## 6.10 Rebase Performance ([`rnvme-v6.10`](https://git.kernel.org/pub/scm/linux/kernel/git/a.hindborg/linux.git/log/?h=rnvme-v6.10)) ### Setup diff --git a/src/rnvme/nvme-v6.11-rc2-absolute.svg b/src/rnvme/nvme-v6.11-rc2-absolute.svg new file mode 100644 index 0000000..ed79190 --- /dev/null +++ b/src/rnvme/nvme-v6.11-rc2-absolute.svg @@ -0,0 +1,2331 @@ + + + + + + + + 2024-09-04T11:56:45.953891 + image/svg+xml + + + Matplotlib v3.9.0, https://matplotlib.org/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/rnvme/nvme-v6.11-rc2-relative.svg b/src/rnvme/nvme-v6.11-rc2-relative.svg new file mode 100644 index 0000000..5a554f2 --- /dev/null +++ b/src/rnvme/nvme-v6.11-rc2-relative.svg @@ -0,0 +1,1903 @@ + + + + + + + + 2024-09-04T11:56:45.845663 + image/svg+xml + + + Matplotlib v3.9.0, https://matplotlib.org/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From ebb18c5a21d2889fc38d79abdaf3b23068f85850 Mon Sep 17 00:00:00 2001 From: Andreas Hindborg Date: Wed, 4 Sep 2024 12:37:56 +0200 Subject: [PATCH 6/6] rnull, rnvme: update repository locations Signed-off-by: Andreas Hindborg --- src/NVMe-driver.md | 9 +++++---- src/Null-Block-Driver.md | 2 +- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/NVMe-driver.md b/src/NVMe-driver.md index aaddc10..07e21df 100644 --- a/src/NVMe-driver.md +++ b/src/NVMe-driver.md @@ -7,10 +7,11 @@ implementation language for high performance device drivers. The Linux Rust NVMe driver lives -[here](https://github.com/metaspace/linux/tree/rnvme). This branch is routinely -rebased on upstream Linux releases. Please be aware that the `nvme` branch is -force pushed without notice. The version based on the deprecated `rust` branch -is available [here](https://github.com/metaspace/linux/tree/nvme-rust). +[here](https://git.kernel.org/pub/scm/linux/kernel/git/a.hindborg/linux.git/log/?h=rnvme). +This branch is routinely rebased on upstream Linux releases. Please be aware +that the `nvme` branch is force pushed without notice. The version based on the +deprecated `rust` branch is available +[here](https://github.com/metaspace/linux/tree/nvme-rust). The Rust NVMe driver was originally authored by Wedson Almeida Filho and is now maintained by Andreas Hindborg diff --git a/src/Null-Block-Driver.md b/src/Null-Block-Driver.md index fd886e4..3dcbafb 100644 --- a/src/Null-Block-Driver.md +++ b/src/Null-Block-Driver.md @@ -62,7 +62,7 @@ in this work: ## Resources - - [Latest patches](https://github.com/metaspace/linux/tree/rnull) + - [Latest patches](https://git.kernel.org/pub/scm/linux/kernel/git/a.hindborg/linux.git/log/?h=rnull) - [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/) - [Subset merged in v6.11-rc1](https://lore.kernel.org/all/20240611114551.228679-1-nmi@metaspace.dk/)