1NAME='Stress'
2AUTHOR='Yi Yang <yang.y.yi@gmail.com>'
3TEST_TYPE='client'
4TIME='MEDIUM'
5TEST_CATEGORY='Functional'
6TEST_CLASS='Software'
7DOC='''\
8stress is not a benchmark, but is rather a tool designed to put given subsytems
9under a specified load. Instances in which this is useful include those in
10which a system administrator wishes to perform tuning activities, a kernel or
11libc programmer wishes to evaluate denial of service possibilities, etc.
12
13Stress command line options:
14
15     -?, --help         show this help statement
16         --version      show version statement
17     -v, --verbose      be verbose
18     -q, --quiet        be quiet
19     -n, --dry-run      show what would have been done
20     -t, --timeout N    timeout after N seconds
21         --backoff N    wait factor of N microseconds before work starts
22     -c, --cpu N        spawn N workers spinning on sqrt()
23     -i, --io N         spawn N workers spinning on sync()
24     -m, --vm N         spawn N workers spinning on malloc()/free()
25         --vm-bytes B   malloc B bytes per vm worker (default is 256MB)
26         --vm-stride B  touch a byte every B bytes (default is 4096)
27         --vm-hang N    sleep N secs before free (default is none, 0 is inf)
28         --vm-keep      redirty memory instead of freeing and reallocating
29     -d, --hdd N        spawn N workers spinning on write()/unlink()
30         --hdd-bytes B  write B bytes per hdd worker (default is 1GB)
31         --hdd-noclean  do not unlink files created by hdd workers
32    Example: %s --cpu 8 --io 4 --vm 2 --vm-bytes 128M --timeout 10s
33    Note: Numbers may be suffixed with s,m,h,d,y (time) or B,K,M,G (size).
34
35Autotest module options:
36    args = Arguments passed to the stress test. If omitted, an heuristic
37           will be used to calculate sensible defaults
38    stress_length = Time length on which stress will run, in seconds.
39                    By default is 60s.
40'''
41job.run_test('stress')
42