1Kernbench v0.42 2 3 4What is this? 5 6This is a cpu throughput benchmark originally devised and used by Martin J. 7Bligh. It is designed to compare kernels on the same machine, or to compare 8hardware. To compare hardware you need to be running the same architecture 9machines (eg i386), the same userspace binaries and run kernbench on the same 10kernel source tree. 11 12It runs a kernel at various numbers of concurrent jobs: 1/2 number of cpus, 13optimal (default is 4xnumber of cpus) and maximal job count. Optionally it can 14also run single threaded. It then prints out a number of useful statistics 15for the average of each group of runs and logs them to kernbench.log 16 17You need more than 2Gb of ram for this to be a true throughput benchmark or 18else you will get swapstorms. 19 20Ideally it should be run in single user mode on a non-journalled filesystem. 21To compare results it should always be run in the same kernel tree. 22 23 24How do I use it? 25 26You need a kernel tree (any 2.6 will do) and the applications 'time', 'awk', 27'date' and 'yes' installed. 'time' is different to the builtin time used by 28BASH and has more information desired for this benchmark. 29 30Simply cd into the kernel tree directory and type 31 32/path/to/kernbench 33 34 35Options 36 37kernbench [-n runs] [-o jobs] [-s] [-H] [-O] [-M] [-h] [-v] 38n : number of times to perform benchmark (default 5) 39o : number of jobs for optimal run (default 4 * cpu) 40s : perform single threaded runs (default don't) 41H : don't perform half load runs (default do) 42O : don't perform optimal load runs (default do) 43M : don't perform maximal load runs (default do) 44f : fast run 45h : print this help 46v : print version number 47 48 49Changelog: 50v0.42 Fixed incorrect counting of cpus (thanks Flynn Marquardt) 51 Changed -j to at least 4GB ram. 52 53v0.41 Fixed make oldconfig 54 55v0.40 Made all runs use the oldconfig if it exists. Changed to only do one 56 warmup run before all the benchmarks. Added logging to kernbench.log 57 Cleaned up the code substantially to reuse code where possible. 58 Added standard deviation statistics courtesy of Peter Williams 59 60v0.30 Added fast run option which bypasses caching, warmup and tree 61 preparation and drops number of runs to 3. Modified half loads to 62 detect -j2 and change to -j3. Added syncs. Improved warnings and 63 messages. 64 65v0.20 Change to average of runs, add options to choose which runs to perform 66 remove single threaded run from defaults, do warmup run, lots more 67 sanity checks, drop meaningless runs, add a few warnings, remove fudge 68 factor from no. of jobs. 69 70v0.11 First public release 71 72 73Thanks: M. Bligh for ideas. Others for help with magic incantations to get 74 BASH to work. 75 76 77Con Kolivas <kernbench@kolivas.org> 78Mon Jun 18 18:59:24 2007 79 80License: 81GPL of course. Read COPYING included in this tarball. 82