diff options
Diffstat (limited to 'Documentation/RCU/torture.txt')
-rw-r--r-- | Documentation/RCU/torture.txt | 34 |
1 files changed, 24 insertions, 10 deletions
diff --git a/Documentation/RCU/torture.txt b/Documentation/RCU/torture.txt index e4c38152f7f7..a4948591607d 100644 --- a/Documentation/RCU/torture.txt +++ b/Documentation/RCU/torture.txt | |||
@@ -7,7 +7,7 @@ The CONFIG_RCU_TORTURE_TEST config option is available for all RCU | |||
7 | implementations. It creates an rcutorture kernel module that can | 7 | implementations. It creates an rcutorture kernel module that can |
8 | be loaded to run a torture test. The test periodically outputs | 8 | be loaded to run a torture test. The test periodically outputs |
9 | status messages via printk(), which can be examined via the dmesg | 9 | status messages via printk(), which can be examined via the dmesg |
10 | command (perhaps grepping for "rcutorture"). The test is started | 10 | command (perhaps grepping for "torture"). The test is started |
11 | when the module is loaded, and stops when the module is unloaded. | 11 | when the module is loaded, and stops when the module is unloaded. |
12 | 12 | ||
13 | However, actually setting this config option to "y" results in the system | 13 | However, actually setting this config option to "y" results in the system |
@@ -35,6 +35,19 @@ stat_interval The number of seconds between output of torture | |||
35 | be printed -only- when the module is unloaded, and this | 35 | be printed -only- when the module is unloaded, and this |
36 | is the default. | 36 | is the default. |
37 | 37 | ||
38 | shuffle_interval | ||
39 | The number of seconds to keep the test threads affinitied | ||
40 | to a particular subset of the CPUs. Used in conjunction | ||
41 | with test_no_idle_hz. | ||
42 | |||
43 | test_no_idle_hz Whether or not to test the ability of RCU to operate in | ||
44 | a kernel that disables the scheduling-clock interrupt to | ||
45 | idle CPUs. Boolean parameter, "1" to test, "0" otherwise. | ||
46 | |||
47 | torture_type The type of RCU to test: "rcu" for the rcu_read_lock() | ||
48 | API, "rcu_bh" for the rcu_read_lock_bh() API, and "srcu" | ||
49 | for the "srcu_read_lock()" API. | ||
50 | |||
38 | verbose Enable debug printk()s. Default is disabled. | 51 | verbose Enable debug printk()s. Default is disabled. |
39 | 52 | ||
40 | 53 | ||
@@ -42,14 +55,14 @@ OUTPUT | |||
42 | 55 | ||
43 | The statistics output is as follows: | 56 | The statistics output is as follows: |
44 | 57 | ||
45 | rcutorture: --- Start of test: nreaders=16 stat_interval=0 verbose=0 | 58 | rcu-torture: --- Start of test: nreaders=16 stat_interval=0 verbose=0 |
46 | rcutorture: rtc: 0000000000000000 ver: 1916 tfle: 0 rta: 1916 rtaf: 0 rtf: 1915 | 59 | rcu-torture: rtc: 0000000000000000 ver: 1916 tfle: 0 rta: 1916 rtaf: 0 rtf: 1915 |
47 | rcutorture: Reader Pipe: 1466408 9747 0 0 0 0 0 0 0 0 0 | 60 | rcu-torture: Reader Pipe: 1466408 9747 0 0 0 0 0 0 0 0 0 |
48 | rcutorture: Reader Batch: 1464477 11678 0 0 0 0 0 0 0 0 | 61 | rcu-torture: Reader Batch: 1464477 11678 0 0 0 0 0 0 0 0 |
49 | rcutorture: Free-Block Circulation: 1915 1915 1915 1915 1915 1915 1915 1915 1915 1915 0 | 62 | rcu-torture: Free-Block Circulation: 1915 1915 1915 1915 1915 1915 1915 1915 1915 1915 0 |
50 | rcutorture: --- End of test | 63 | rcu-torture: --- End of test |
51 | 64 | ||
52 | The command "dmesg | grep rcutorture:" will extract this information on | 65 | The command "dmesg | grep torture:" will extract this information on |
53 | most systems. On more esoteric configurations, it may be necessary to | 66 | most systems. On more esoteric configurations, it may be necessary to |
54 | use other commands to access the output of the printk()s used by | 67 | use other commands to access the output of the printk()s used by |
55 | the RCU torture test. The printk()s use KERN_ALERT, so they should | 68 | the RCU torture test. The printk()s use KERN_ALERT, so they should |
@@ -115,8 +128,9 @@ The following script may be used to torture RCU: | |||
115 | modprobe rcutorture | 128 | modprobe rcutorture |
116 | sleep 100 | 129 | sleep 100 |
117 | rmmod rcutorture | 130 | rmmod rcutorture |
118 | dmesg | grep rcutorture: | 131 | dmesg | grep torture: |
119 | 132 | ||
120 | The output can be manually inspected for the error flag of "!!!". | 133 | The output can be manually inspected for the error flag of "!!!". |
121 | One could of course create a more elaborate script that automatically | 134 | One could of course create a more elaborate script that automatically |
122 | checked for such errors. | 135 | checked for such errors. The "rmmod" command forces a "SUCCESS" or |
136 | "FAILURE" indication to be printk()ed. | ||