Merge branch 'vendor/OPENSSL'
[dragonfly.git] / test / stress / stress2 / README
1 $FreeBSD$
2
3 This is the FreeBSD kernel stress test suite. The purpose is to crash the
4 computer, by stressing selected parts of the kernel, thus exposing inadequate
5 error handling.
6
7 Do not run the syscall test as root.
8
9 To build and use:
10
11 make
12 sh ./run.sh
13
14 The "run.sh" script accepts an optional configuration file in order to test specific areas.
15 For example:
16
17 ./run.sh vfs.sh
18
19
20 To run all of the different test scenarios type:
21
22 ./run.sh -a
23
24 You may have to tune the stress test to make sure that your test box run low
25 on resources.  For example:
26
27 INCARNATIONS=125 ./run.sh
28
29 The following sub-directories exists:
30
31 ./doc           Documentation
32 ./include       Include file for building the test programs in ./testcases
33 ./lib           Common support files for the test programs
34 ./misc          Various test scenarios. Mostly regression tests
35 ./testcases     Test programs
36 ./tools         Supplementary tools used in stress testing
37
38 The name stress2 indicates that this is the second generation of the Kernel Stress Test Suite.
39 The first version (stress) was based mostly on scripts.
40
41
42 20090120: des@ pointed out it would be nice to be able to set the
43         random seed in order to be able to reproduce errors in time.
44         A test of this show that the occurrence of panics are still
45         non-deterministic even with a fixed seed. The known broken
46         unionfs was used to test this:
47         http://people.freebsd.org/~pho/stress/log/marcus006.txt.
48         First panic occurred after 29 loops and the second after 8
49         with a seed of "123".
50
51         The randomness that is provided by lack of synchronization
52         with timer interrupt, disk block layout and disk access
53         latencies caused by platter and heads speed changes, disk
54         firmware internal operations, and so on are _much_ bigger
55         then the undeterminism caused by the non-repeatable random
56         seed.
57
58         Anyway, I have always view the this issue as only a slight
59         inconvenience.