Skip to content

Commit

Permalink
Merge pull request #33 from metaspace/october
Browse files Browse the repository at this point in the history
Block subsystem update for October (v6.11, v6.12-rc2)
  • Loading branch information
ojeda authored Nov 5, 2024
2 parents 24834dd + 7abfd6e commit 6eed0ff
Show file tree
Hide file tree
Showing 9 changed files with 18,539 additions and 0 deletions.
25 changes: 25 additions & 0 deletions flake.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@

{
description = "Shell for building rust-for-linux.com";
inputs.nixpkgs.url = "nixpkgs/nixos-24.05";
inputs.systems.url = "github:nix-systems/default";
inputs.flake-utils = {
url = "github:numtide/flake-utils";
inputs.systems.follows = "systems";
};

outputs =
{ nixpkgs, flake-utils, ... }:
flake-utils.lib.eachDefaultSystem (
system:
let
pkgs = nixpkgs.legacyPackages.${system};
in
{
devShells.default = pkgs.mkShell { packages = with pkgs; [
python3
mdbook
]; };
}
);
}
70 changes: 70 additions & 0 deletions src/NVMe-driver.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,76 @@ 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.12-rc2 Rebase Performance ([`rnvme-v6.12-rc2`](https://git.kernel.org/pub/scm/linux/kernel/git/a.hindborg/linux.git/log/?h=rnvme-v6.12-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.12-rc2-absolute.svg)

![](rnvme/nvme-v6.12-rc2-relative.svg)

The graph shows
<math>
<mfrac>
<mrow>
<mi>R</mi>
<mo>-</mo>
<mi>C</mi>
</mrow>
<mrow>
<mi>C</mi>
</mrow>
</mfrac>
</math>
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.11 Rebase Performance ([`rnvme-v6.11`](https://git.kernel.org/pub/scm/linux/kernel/git/a.hindborg/linux.git/log/?h=rnvme-v6.11))

### 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-absolute.svg)

![](rnvme/nvme-v6.11-relative.svg)

The graph shows
<math>
<mfrac>
<mrow>
<mi>R</mi>
<mo>-</mo>
<mi>C</mi>
</mrow>
<mrow>
<mi>C</mi>
</mrow>
</mfrac>
</math>
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.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
Expand Down
48 changes: 48 additions & 0 deletions src/Null-Block-Driver.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,54 @@ in this work:
- [Mailing List Post](https://lore.kernel.org/all/[email protected]/)
- [Subset merged in v6.11-rc1](https://lore.kernel.org/all/[email protected]/)

## 6.12-rc2 Rebase ([`rnull-v6.12-rc2`](https://git.kernel.org/pub/scm/linux/kernel/git/a.hindborg/linux.git/log/?h=rnull-v6.12-rc2))

Changes from `rnull-v6.10`:

- Make `QueueData` references pinned.

### 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.12-rc2.svg)

## 6.11 Rebase ([`rnull-v6.11`](https://git.kernel.org/pub/scm/linux/kernel/git/a.hindborg/linux.git/log/?h=rnull-v6.11))

Changes from `rnull-v6.10`:

- 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.11.svg)

## 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`:
Expand Down
Loading

0 comments on commit 6eed0ff

Please sign in to comment.