Update: enhance the text, still a bit raw, check the numbers

Example of benchmarks of patches going to 4.20 kernel. The goal was to identify potential differences between the devleopment branch with and without merge to the mainline. The factors affecting the difference are usually in other subsystems like block layer (IO queuing) or memory management (namely page cache, memory allocator, writeback), core (scheduling, locking primitives).

  • base/misc1: v4.19-rc8
  • misc2: v4.19-rc8 + btrfs pull request
  • misc3: v4.19 with btrfs changes merged

The numbers are reflected in the results below, referring to comparisons of the branches. 1-to-2 is the net effect of the patches, 1-to-3 is the same patches after merge.

The testsuite used is MMTests, that’s internally used for performance evaluation and provides wide range of workloads

The expected performance delta should be roughly the same for 2 and 3, the tables show if the delta is significant (green: positive, red: negative), so it can be easily observed. Note that the values need to be properly interpreted in the context of the benchmark and perhaps other values.

MMTests results

The raw stats are available.

Test setup

  • HP ProLiant DL380 G6
  • 16 CPUs (Intel(R) Xeon(R), E5520 2.27GHz)
  • 16 GiB RAM
  • 4x SAS 136 GiB disks, partitioned
  • filesystem:
    • btrfs
    • mkfs: data: raid0, metadata: raid1
    • mount: noatime