---
name: "contest"
section: "1"
platform: "linux"
package: "contest"
version: "0.61-6"
release: "Debian 4.0 (Etch)"
platforms: ["linux"]
url: "https://new.carta.tech/contest"
---

# contest(1)

Benchmarks kernels for their system responsiveness

## NAME

**contest** **v0.61** – Benchmarks kernels for their system responsiveness

## SYNOPSIS

**contest** \[**-cdr**\] \[**-k** *name*\] \[**-t** *file*\] \[**-n** *nrruns*\] \[**-o** *file*\] \[*load...*\]

## DESCRIPTION

This manual page documents the running of **contest**, a kernel benchmark for system responsiveness. **contest** runs a series of kernel compiles in a linux kernel tree under different load conditions simulating real world loads and times how long the kernel takes to compile. By running for the duration of a kernel compile it can increase the signal to noise ratio of the effect the load has on the system. This can demonstrate the ability of the running kernel to respond in each of the tested loads. It can only be of use in benchmarking different kernels on the same hardware.

## OPTIONS

Loads should follow any other command line parameters and are executed in the order they were specified. You can request that the same load be executed multiple times.

Available loads are: no\_load, cacherun, process\_load, ctar\_load, xtar\_load, io\_load, io\_other, read\_load, list\_load, mem\_load and dbench\_load. If you do not specify a load, all loads will be executed by default.

These are the commonly used options:

- **-b**

  Print a progress bar if information from previous runs is available. Do not use this for remote logins / testing as it will taint the results.

- **-k** *NAME*

  Use the kernel name *NAME* in the report generated by **contest** (default is the internal kernel name from uname.)

- **-n** *N*

  Number of times to run each load in **contest** to generate useful averages (default 3.)

- **-o** *file*

  target file for io\_other (required unless io\_other is not specified).

- **-r**

  Generate report on all the cumulative log files in the current directory.

- **-t** *FILE*

  Use the file *FILE* as the temporary file to use for io loads - can specify a full path such as /tmp/tmpfile (default ./dump.)

## OTHER OPTIONS

You shouldn't need to touch these.

- **-c**

  Assume a cold cache. This bypasses the memory flushing routines that occur between different loads in **contest** that are normally used to minimise the effects of caching of data from previous compiles. It is of use only to test **contest** functionality and will invalidate any testing you do.

- **-d**

  Print debugging information if **contest** was compiled with debugging enabled (will flood the console).

- **-p**

  Dont cleanup after each load is run - speeds up the running of **contest** but can use up massive amounts of disk space.

## NOTES

\* **contest** must be run in the top directory of a linux kernel tree. The minimal config supplied with **contest** (contest.config) can be used with a 2.4.19 tree by copying it to the toplevel directory as .config

\* **contest** assumes the existence of the common utilities, cc and dbench in your PATH

\* The version of cc used must not vary between benchmarks.

\* dbench\_load requires both the existence of dbench in your PATH and the presence of the .txt files from the dbench source in your testbed tree.

\* **contest** should be run by itself in single user mode or as the sole init process to exclude the effects of any other loads on the system.

\* **contest** requires large amounts of spare disk space to perform dbench\_load, the tar loads (ctar\_load and xtar\_load), read\_load and io\_load.

\* io\_load requires as much spare disk space as the physical RAM the test machine has. Running io\_load on a different partition to the kernel tree tests different aspects of the kernel.

\* io\_other needs the -o parameter to tell it where to do the other io load. Running the io load on a separate hard disk tests different aspects of the kernel.

\* cacherun is only meaningful if run in combination with no\_load.

\* **contest** must be run with sufficient permissions to execute swapon/swapoff.

\* Never do make dep again after running **contest** as it will change the results of subsequent runs.

\*Changing the vga from framebuffer mode to non-fb and vice versa changes results.

\* The **contest** name is a play on words due to the Author's name being Con.

## EXAMPLES

contest -n 5 -o /spare/dump

Will run all the loads in contest 5 times using the file /spare/dump as the other io\_load.

contest -k MyKernel -t /tmp/dump -n 7 io\_load dbench\_load

Will run the loads io\_load and dbench\_load 7 times using the name MyKernel in the log and report, and will use the file /tmp/dump as the io write load.

## AUTHORS

**contest** was originally conceived and written by Con Kolivas \<contest@kolivas.org\>. A complete rewrite of all the elements not in c was done by Aggelos Economopoulos \<aoiko@cc.ece.ntua.gr\> as of version 0.60

## WWW

http://contest.kolivas.org

## BUGS

yes
