kernbench is a CPU throughput benchmark. It is designed to compare kernels on the same machine, or to compare hardware. It runs a kernel compile at various numbers of concurrent jobs: 1/2 number of CPUs, optimal (default is 4xnumber of CPUs), and maximal job count. Optionally it can also run single threaded. It then prints out a number of useful statistics for the average of each group of runs.
|Tags||Benchmark Utilities Operating System Kernels Linux|
|Operating Systems||POSIX Linux|
Release Notes: The optimal load was changed to 1xCPUs. The 4x was a figure based on poorly performing CPU schedulers that couldn't keep the cores loaded. Likewise, half run is included if jobs == 2 as this is a meaningful test. /bin/sh was changed to /bin/bash since some distros no longer use BASH by default. A change was made from defconfig to allnoconfig. The kernel is big enough that even this reliably and reproducibly tests throughput. A custom number of jobs option was added. The kernel tree is cached 4 times to achieve the "active referenced" status in the Linux VM. The version number was bumped since results are not compatible with version 0.42.
Release Notes: Incorrect counting of CPUs was fixed. The -j option was changed to at least 4GB ram.
Release Notes: All runs now use the oldconfig if it exists. Only one warmup run is now done before all the benchmarks. Logging to kernbench.log was added. Standard deviation statistics were added. The code was cleaned up substantially to reuse code where possible.
No changes have been submitted for this release.