diff options
author | Ingo Molnar <mingo@kernel.org> | 2014-09-23 01:21:42 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2014-09-23 01:21:42 -0400 |
commit | 62731433591156ece255e23ffd69ea4544b424f1 (patch) | |
tree | 125ce584cdb3166456b1767d03c3d5e72ea79a6e /tools/testing | |
parent | 7c9a3730a5ef4c6240eaaa2d8dcdb8cc1627d715 (diff) | |
parent | dd56af42bd829c6e770ed69812bd65a04eaeb1e4 (diff) |
Merge branch 'rcu/next' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu into core/rcu
Pull the v3.18 RCU changes from Paul E. McKenney:
"
* Update RCU documentation. These were posted to LKML at
https://lkml.org/lkml/2014/8/28/378.
* Miscellaneous fixes. These were posted to LKML at
https://lkml.org/lkml/2014/8/28/386. An additional fix that
eliminates a documented (but now inconvenient) deadlock between
RCU hotplug and expedited grace periods was posted at
https://lkml.org/lkml/2014/8/28/573.
* Changes related to No-CBs CPUs and NO_HZ_FULL. These were posted
to LKML at https://lkml.org/lkml/2014/8/28/412.
* Torture-test updates. These were posted to LKML at
https://lkml.org/lkml/2014/8/28/546 and at
https://lkml.org/lkml/2014/9/11/1114.
* RCU-tasks implementation. These were posted to LKML at
https://lkml.org/lkml/2014/8/28/540.
"
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'tools/testing')
32 files changed, 104 insertions, 30 deletions
diff --git a/tools/testing/selftests/rcutorture/bin/config2frag.sh b/tools/testing/selftests/rcutorture/bin/config2frag.sh index 9f9ffcd427d3..56f51ae13d73 100644..100755 --- a/tools/testing/selftests/rcutorture/bin/config2frag.sh +++ b/tools/testing/selftests/rcutorture/bin/config2frag.sh | |||
@@ -1,5 +1,5 @@ | |||
1 | #!/bin/sh | 1 | #!/bin/bash |
2 | # Usage: sh config2frag.sh < .config > configfrag | 2 | # Usage: config2frag.sh < .config > configfrag |
3 | # | 3 | # |
4 | # Converts the "# CONFIG_XXX is not set" to "CONFIG_XXX=n" so that the | 4 | # Converts the "# CONFIG_XXX is not set" to "CONFIG_XXX=n" so that the |
5 | # resulting file becomes a legitimate Kconfig fragment. | 5 | # resulting file becomes a legitimate Kconfig fragment. |
diff --git a/tools/testing/selftests/rcutorture/bin/configcheck.sh b/tools/testing/selftests/rcutorture/bin/configcheck.sh index d686537dd55c..eee31e261bf7 100755 --- a/tools/testing/selftests/rcutorture/bin/configcheck.sh +++ b/tools/testing/selftests/rcutorture/bin/configcheck.sh | |||
@@ -1,5 +1,5 @@ | |||
1 | #!/bin/sh | 1 | #!/bin/bash |
2 | # Usage: sh configcheck.sh .config .config-template | 2 | # Usage: configcheck.sh .config .config-template |
3 | # | 3 | # |
4 | # This program is free software; you can redistribute it and/or modify | 4 | # This program is free software; you can redistribute it and/or modify |
5 | # it under the terms of the GNU General Public License as published by | 5 | # it under the terms of the GNU General Public License as published by |
diff --git a/tools/testing/selftests/rcutorture/bin/configinit.sh b/tools/testing/selftests/rcutorture/bin/configinit.sh index 9c3f3d39b934..15f1a17ca96e 100755 --- a/tools/testing/selftests/rcutorture/bin/configinit.sh +++ b/tools/testing/selftests/rcutorture/bin/configinit.sh | |||
@@ -1,6 +1,6 @@ | |||
1 | #!/bin/sh | 1 | #!/bin/bash |
2 | # | 2 | # |
3 | # sh configinit.sh config-spec-file [ build output dir ] | 3 | # Usage: configinit.sh config-spec-file [ build output dir ] |
4 | # | 4 | # |
5 | # Create a .config file from the spec file. Run from the kernel source tree. | 5 | # Create a .config file from the spec file. Run from the kernel source tree. |
6 | # Exits with 0 if all went well, with 1 if all went well but the config | 6 | # Exits with 0 if all went well, with 1 if all went well but the config |
diff --git a/tools/testing/selftests/rcutorture/bin/functions.sh b/tools/testing/selftests/rcutorture/bin/functions.sh index d01b865bb100..b325470c01b3 100644 --- a/tools/testing/selftests/rcutorture/bin/functions.sh +++ b/tools/testing/selftests/rcutorture/bin/functions.sh | |||
@@ -64,6 +64,26 @@ configfrag_boot_params () { | |||
64 | fi | 64 | fi |
65 | } | 65 | } |
66 | 66 | ||
67 | # configfrag_boot_cpus bootparam-string config-fragment-file config-cpus | ||
68 | # | ||
69 | # Decreases number of CPUs based on any maxcpus= boot parameters specified. | ||
70 | configfrag_boot_cpus () { | ||
71 | local bootargs="`configfrag_boot_params "$1" "$2"`" | ||
72 | local maxcpus | ||
73 | if echo "${bootargs}" | grep -q 'maxcpus=[0-9]' | ||
74 | then | ||
75 | maxcpus="`echo "${bootargs}" | sed -e 's/^.*maxcpus=\([0-9]*\).*$/\1/'`" | ||
76 | if test "$3" -gt "$maxcpus" | ||
77 | then | ||
78 | echo $maxcpus | ||
79 | else | ||
80 | echo $3 | ||
81 | fi | ||
82 | else | ||
83 | echo $3 | ||
84 | fi | ||
85 | } | ||
86 | |||
67 | # configfrag_hotplug_cpu config-fragment-file | 87 | # configfrag_hotplug_cpu config-fragment-file |
68 | # | 88 | # |
69 | # Returns 1 if the config fragment specifies hotplug CPU. | 89 | # Returns 1 if the config fragment specifies hotplug CPU. |
diff --git a/tools/testing/selftests/rcutorture/bin/kvm-build.sh b/tools/testing/selftests/rcutorture/bin/kvm-build.sh index 7c1e56b46de4..00cb0db2643d 100755 --- a/tools/testing/selftests/rcutorture/bin/kvm-build.sh +++ b/tools/testing/selftests/rcutorture/bin/kvm-build.sh | |||
@@ -2,7 +2,7 @@ | |||
2 | # | 2 | # |
3 | # Build a kvm-ready Linux kernel from the tree in the current directory. | 3 | # Build a kvm-ready Linux kernel from the tree in the current directory. |
4 | # | 4 | # |
5 | # Usage: sh kvm-build.sh config-template build-dir more-configs | 5 | # Usage: kvm-build.sh config-template build-dir more-configs |
6 | # | 6 | # |
7 | # This program is free software; you can redistribute it and/or modify | 7 | # This program is free software; you can redistribute it and/or modify |
8 | # it under the terms of the GNU General Public License as published by | 8 | # it under the terms of the GNU General Public License as published by |
diff --git a/tools/testing/selftests/rcutorture/bin/kvm-recheck-lock.sh b/tools/testing/selftests/rcutorture/bin/kvm-recheck-lock.sh index 7f1ff1a8fc4b..43f764098e50 100755 --- a/tools/testing/selftests/rcutorture/bin/kvm-recheck-lock.sh +++ b/tools/testing/selftests/rcutorture/bin/kvm-recheck-lock.sh | |||
@@ -2,7 +2,7 @@ | |||
2 | # | 2 | # |
3 | # Analyze a given results directory for locktorture progress. | 3 | # Analyze a given results directory for locktorture progress. |
4 | # | 4 | # |
5 | # Usage: sh kvm-recheck-lock.sh resdir | 5 | # Usage: kvm-recheck-lock.sh resdir |
6 | # | 6 | # |
7 | # This program is free software; you can redistribute it and/or modify | 7 | # This program is free software; you can redistribute it and/or modify |
8 | # it under the terms of the GNU General Public License as published by | 8 | # it under the terms of the GNU General Public License as published by |
diff --git a/tools/testing/selftests/rcutorture/bin/kvm-recheck-rcu.sh b/tools/testing/selftests/rcutorture/bin/kvm-recheck-rcu.sh index 307c4b95f325..d6cc07fc137f 100755 --- a/tools/testing/selftests/rcutorture/bin/kvm-recheck-rcu.sh +++ b/tools/testing/selftests/rcutorture/bin/kvm-recheck-rcu.sh | |||
@@ -2,7 +2,7 @@ | |||
2 | # | 2 | # |
3 | # Analyze a given results directory for rcutorture progress. | 3 | # Analyze a given results directory for rcutorture progress. |
4 | # | 4 | # |
5 | # Usage: sh kvm-recheck-rcu.sh resdir | 5 | # Usage: kvm-recheck-rcu.sh resdir |
6 | # | 6 | # |
7 | # This program is free software; you can redistribute it and/or modify | 7 | # This program is free software; you can redistribute it and/or modify |
8 | # it under the terms of the GNU General Public License as published by | 8 | # it under the terms of the GNU General Public License as published by |
diff --git a/tools/testing/selftests/rcutorture/bin/kvm-recheck.sh b/tools/testing/selftests/rcutorture/bin/kvm-recheck.sh index 3f6c9b78d177..4f5b20f367a9 100755 --- a/tools/testing/selftests/rcutorture/bin/kvm-recheck.sh +++ b/tools/testing/selftests/rcutorture/bin/kvm-recheck.sh | |||
@@ -4,7 +4,7 @@ | |||
4 | # check the build and console output for errors. Given a directory | 4 | # check the build and console output for errors. Given a directory |
5 | # containing results directories, this recursively checks them all. | 5 | # containing results directories, this recursively checks them all. |
6 | # | 6 | # |
7 | # Usage: sh kvm-recheck.sh resdir ... | 7 | # Usage: kvm-recheck.sh resdir ... |
8 | # | 8 | # |
9 | # This program is free software; you can redistribute it and/or modify | 9 | # This program is free software; you can redistribute it and/or modify |
10 | # it under the terms of the GNU General Public License as published by | 10 | # it under the terms of the GNU General Public License as published by |
diff --git a/tools/testing/selftests/rcutorture/bin/kvm-test-1-run.sh b/tools/testing/selftests/rcutorture/bin/kvm-test-1-run.sh index 0f69dcbf9def..f6b2b4771b78 100755 --- a/tools/testing/selftests/rcutorture/bin/kvm-test-1-run.sh +++ b/tools/testing/selftests/rcutorture/bin/kvm-test-1-run.sh | |||
@@ -6,7 +6,7 @@ | |||
6 | # Execute this in the source tree. Do not run it as a background task | 6 | # Execute this in the source tree. Do not run it as a background task |
7 | # because qemu does not seem to like that much. | 7 | # because qemu does not seem to like that much. |
8 | # | 8 | # |
9 | # Usage: sh kvm-test-1-run.sh config builddir resdir minutes qemu-args boot_args | 9 | # Usage: kvm-test-1-run.sh config builddir resdir minutes qemu-args boot_args |
10 | # | 10 | # |
11 | # qemu-args defaults to "-nographic", along with arguments specifying the | 11 | # qemu-args defaults to "-nographic", along with arguments specifying the |
12 | # number of CPUs and other options generated from | 12 | # number of CPUs and other options generated from |
@@ -140,6 +140,7 @@ fi | |||
140 | # Generate -smp qemu argument. | 140 | # Generate -smp qemu argument. |
141 | qemu_args="-nographic $qemu_args" | 141 | qemu_args="-nographic $qemu_args" |
142 | cpu_count=`configNR_CPUS.sh $config_template` | 142 | cpu_count=`configNR_CPUS.sh $config_template` |
143 | cpu_count=`configfrag_boot_cpus "$boot_args" "$config_template" "$cpu_count"` | ||
143 | vcpus=`identify_qemu_vcpus` | 144 | vcpus=`identify_qemu_vcpus` |
144 | if test $cpu_count -gt $vcpus | 145 | if test $cpu_count -gt $vcpus |
145 | then | 146 | then |
@@ -214,7 +215,7 @@ then | |||
214 | fi | 215 | fi |
215 | if test $kruntime -ge $((seconds + grace)) | 216 | if test $kruntime -ge $((seconds + grace)) |
216 | then | 217 | then |
217 | echo "!!! Hang at $kruntime vs. $seconds seconds" >> $resdir/Warnings 2>&1 | 218 | echo "!!! PID $qemu_pid hung at $kruntime vs. $seconds seconds" >> $resdir/Warnings 2>&1 |
218 | kill -KILL $qemu_pid | 219 | kill -KILL $qemu_pid |
219 | break | 220 | break |
220 | fi | 221 | fi |
diff --git a/tools/testing/selftests/rcutorture/bin/kvm.sh b/tools/testing/selftests/rcutorture/bin/kvm.sh index 589e9c38413b..e527dc952eb0 100644..100755 --- a/tools/testing/selftests/rcutorture/bin/kvm.sh +++ b/tools/testing/selftests/rcutorture/bin/kvm.sh | |||
@@ -7,7 +7,7 @@ | |||
7 | # Edit the definitions below to set the locations of the various directories, | 7 | # Edit the definitions below to set the locations of the various directories, |
8 | # as well as the test duration. | 8 | # as well as the test duration. |
9 | # | 9 | # |
10 | # Usage: sh kvm.sh [ options ] | 10 | # Usage: kvm.sh [ options ] |
11 | # | 11 | # |
12 | # This program is free software; you can redistribute it and/or modify | 12 | # This program is free software; you can redistribute it and/or modify |
13 | # it under the terms of the GNU General Public License as published by | 13 | # it under the terms of the GNU General Public License as published by |
@@ -188,7 +188,9 @@ for CF in $configs | |||
188 | do | 188 | do |
189 | if test -f "$CONFIGFRAG/$kversion/$CF" | 189 | if test -f "$CONFIGFRAG/$kversion/$CF" |
190 | then | 190 | then |
191 | echo $CF `configNR_CPUS.sh $CONFIGFRAG/$kversion/$CF` >> $T/cfgcpu | 191 | cpu_count=`configNR_CPUS.sh $CONFIGFRAG/$kversion/$CF` |
192 | cpu_count=`configfrag_boot_cpus "$TORTURE_BOOTARGS" "$CONFIGFRAG/$kversion/$CF" "$cpu_count"` | ||
193 | echo $CF $cpu_count >> $T/cfgcpu | ||
192 | else | 194 | else |
193 | echo "The --configs file $CF does not exist, terminating." | 195 | echo "The --configs file $CF does not exist, terminating." |
194 | exit 1 | 196 | exit 1 |
diff --git a/tools/testing/selftests/rcutorture/bin/parse-build.sh b/tools/testing/selftests/rcutorture/bin/parse-build.sh index 543230951c38..499d1e598e42 100755 --- a/tools/testing/selftests/rcutorture/bin/parse-build.sh +++ b/tools/testing/selftests/rcutorture/bin/parse-build.sh | |||
@@ -1,4 +1,4 @@ | |||
1 | #!/bin/sh | 1 | #!/bin/bash |
2 | # | 2 | # |
3 | # Check the build output from an rcutorture run for goodness. | 3 | # Check the build output from an rcutorture run for goodness. |
4 | # The "file" is a pathname on the local system, and "title" is | 4 | # The "file" is a pathname on the local system, and "title" is |
@@ -6,8 +6,7 @@ | |||
6 | # | 6 | # |
7 | # The file must contain kernel build output. | 7 | # The file must contain kernel build output. |
8 | # | 8 | # |
9 | # Usage: | 9 | # Usage: parse-build.sh file title |
10 | # sh parse-build.sh file title | ||
11 | # | 10 | # |
12 | # This program is free software; you can redistribute it and/or modify | 11 | # This program is free software; you can redistribute it and/or modify |
13 | # it under the terms of the GNU General Public License as published by | 12 | # it under the terms of the GNU General Public License as published by |
diff --git a/tools/testing/selftests/rcutorture/bin/parse-console.sh b/tools/testing/selftests/rcutorture/bin/parse-console.sh index 4185d4cab32e..f962ba4cf68b 100755 --- a/tools/testing/selftests/rcutorture/bin/parse-console.sh +++ b/tools/testing/selftests/rcutorture/bin/parse-console.sh | |||
@@ -1,11 +1,10 @@ | |||
1 | #!/bin/sh | 1 | #!/bin/bash |
2 | # | 2 | # |
3 | # Check the console output from an rcutorture run for oopses. | 3 | # Check the console output from an rcutorture run for oopses. |
4 | # The "file" is a pathname on the local system, and "title" is | 4 | # The "file" is a pathname on the local system, and "title" is |
5 | # a text string for error-message purposes. | 5 | # a text string for error-message purposes. |
6 | # | 6 | # |
7 | # Usage: | 7 | # Usage: parse-console.sh file title |
8 | # sh parse-console.sh file title | ||
9 | # | 8 | # |
10 | # This program is free software; you can redistribute it and/or modify | 9 | # This program is free software; you can redistribute it and/or modify |
11 | # it under the terms of the GNU General Public License as published by | 10 | # it under the terms of the GNU General Public License as published by |
@@ -33,6 +32,10 @@ title="$2" | |||
33 | 32 | ||
34 | . functions.sh | 33 | . functions.sh |
35 | 34 | ||
35 | if grep -Pq '\x00' < $file | ||
36 | then | ||
37 | print_warning Console output contains nul bytes, old qemu still running? | ||
38 | fi | ||
36 | egrep 'Badness|WARNING:|Warn|BUG|===========|Call Trace:|Oops:' < $file | grep -v 'ODEBUG: ' | grep -v 'Warning: unable to open an initial console' > $T | 39 | egrep 'Badness|WARNING:|Warn|BUG|===========|Call Trace:|Oops:' < $file | grep -v 'ODEBUG: ' | grep -v 'Warning: unable to open an initial console' > $T |
37 | if test -s $T | 40 | if test -s $T |
38 | then | 41 | then |
diff --git a/tools/testing/selftests/rcutorture/bin/parse-torture.sh b/tools/testing/selftests/rcutorture/bin/parse-torture.sh index 3455560ab4e4..e3c5f0705696 100755 --- a/tools/testing/selftests/rcutorture/bin/parse-torture.sh +++ b/tools/testing/selftests/rcutorture/bin/parse-torture.sh | |||
@@ -1,4 +1,4 @@ | |||
1 | #!/bin/sh | 1 | #!/bin/bash |
2 | # | 2 | # |
3 | # Check the console output from a torture run for goodness. | 3 | # Check the console output from a torture run for goodness. |
4 | # The "file" is a pathname on the local system, and "title" is | 4 | # The "file" is a pathname on the local system, and "title" is |
@@ -7,8 +7,7 @@ | |||
7 | # The file must contain torture output, but can be interspersed | 7 | # The file must contain torture output, but can be interspersed |
8 | # with other dmesg text, as in console-log output. | 8 | # with other dmesg text, as in console-log output. |
9 | # | 9 | # |
10 | # Usage: | 10 | # Usage: parse-torture.sh file title |
11 | # sh parse-torture.sh file title | ||
12 | # | 11 | # |
13 | # This program is free software; you can redistribute it and/or modify | 12 | # This program is free software; you can redistribute it and/or modify |
14 | # it under the terms of the GNU General Public License as published by | 13 | # it under the terms of the GNU General Public License as published by |
diff --git a/tools/testing/selftests/rcutorture/configs/lock/CFLIST b/tools/testing/selftests/rcutorture/configs/lock/CFLIST index a061b22d1892..6108137da770 100644 --- a/tools/testing/selftests/rcutorture/configs/lock/CFLIST +++ b/tools/testing/selftests/rcutorture/configs/lock/CFLIST | |||
@@ -1 +1,3 @@ | |||
1 | LOCK01 | 1 | LOCK01 |
2 | LOCK02 | ||
3 | LOCK03 | ||
diff --git a/tools/testing/selftests/rcutorture/configs/lock/LOCK02 b/tools/testing/selftests/rcutorture/configs/lock/LOCK02 new file mode 100644 index 000000000000..1d1da1477fc3 --- /dev/null +++ b/tools/testing/selftests/rcutorture/configs/lock/LOCK02 | |||
@@ -0,0 +1,6 @@ | |||
1 | CONFIG_SMP=y | ||
2 | CONFIG_NR_CPUS=4 | ||
3 | CONFIG_HOTPLUG_CPU=y | ||
4 | CONFIG_PREEMPT_NONE=n | ||
5 | CONFIG_PREEMPT_VOLUNTARY=n | ||
6 | CONFIG_PREEMPT=y | ||
diff --git a/tools/testing/selftests/rcutorture/configs/lock/LOCK02.boot b/tools/testing/selftests/rcutorture/configs/lock/LOCK02.boot new file mode 100644 index 000000000000..5aa44b4f1b51 --- /dev/null +++ b/tools/testing/selftests/rcutorture/configs/lock/LOCK02.boot | |||
@@ -0,0 +1 @@ | |||
locktorture.torture_type=mutex_lock | |||
diff --git a/tools/testing/selftests/rcutorture/configs/lock/LOCK03 b/tools/testing/selftests/rcutorture/configs/lock/LOCK03 new file mode 100644 index 000000000000..1d1da1477fc3 --- /dev/null +++ b/tools/testing/selftests/rcutorture/configs/lock/LOCK03 | |||
@@ -0,0 +1,6 @@ | |||
1 | CONFIG_SMP=y | ||
2 | CONFIG_NR_CPUS=4 | ||
3 | CONFIG_HOTPLUG_CPU=y | ||
4 | CONFIG_PREEMPT_NONE=n | ||
5 | CONFIG_PREEMPT_VOLUNTARY=n | ||
6 | CONFIG_PREEMPT=y | ||
diff --git a/tools/testing/selftests/rcutorture/configs/lock/LOCK03.boot b/tools/testing/selftests/rcutorture/configs/lock/LOCK03.boot new file mode 100644 index 000000000000..a67bbe0245c9 --- /dev/null +++ b/tools/testing/selftests/rcutorture/configs/lock/LOCK03.boot | |||
@@ -0,0 +1 @@ | |||
locktorture.torture_type=rwsem_lock | |||
diff --git a/tools/testing/selftests/rcutorture/configs/lock/ver_functions.sh b/tools/testing/selftests/rcutorture/configs/lock/ver_functions.sh index 9746ea1cd6c7..252aae618984 100644 --- a/tools/testing/selftests/rcutorture/configs/lock/ver_functions.sh +++ b/tools/testing/selftests/rcutorture/configs/lock/ver_functions.sh | |||
@@ -38,6 +38,6 @@ per_version_boot_params () { | |||
38 | echo $1 `locktorture_param_onoff "$1" "$2"` \ | 38 | echo $1 `locktorture_param_onoff "$1" "$2"` \ |
39 | locktorture.stat_interval=15 \ | 39 | locktorture.stat_interval=15 \ |
40 | locktorture.shutdown_secs=$3 \ | 40 | locktorture.shutdown_secs=$3 \ |
41 | locktorture.locktorture_runnable=1 \ | 41 | locktorture.torture_runnable=1 \ |
42 | locktorture.verbose=1 | 42 | locktorture.verbose=1 |
43 | } | 43 | } |
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/CFLIST b/tools/testing/selftests/rcutorture/configs/rcu/CFLIST index cd3d29cb0a47..a3a1a05a2b5c 100644 --- a/tools/testing/selftests/rcutorture/configs/rcu/CFLIST +++ b/tools/testing/selftests/rcutorture/configs/rcu/CFLIST | |||
@@ -11,3 +11,6 @@ SRCU-N | |||
11 | SRCU-P | 11 | SRCU-P |
12 | TINY01 | 12 | TINY01 |
13 | TINY02 | 13 | TINY02 |
14 | TASKS01 | ||
15 | TASKS02 | ||
16 | TASKS03 | ||
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/TASKS01 b/tools/testing/selftests/rcutorture/configs/rcu/TASKS01 new file mode 100644 index 000000000000..97f0a0b27ef7 --- /dev/null +++ b/tools/testing/selftests/rcutorture/configs/rcu/TASKS01 | |||
@@ -0,0 +1,9 @@ | |||
1 | CONFIG_SMP=y | ||
2 | CONFIG_NR_CPUS=2 | ||
3 | CONFIG_HOTPLUG_CPU=y | ||
4 | CONFIG_PREEMPT_NONE=n | ||
5 | CONFIG_PREEMPT_VOLUNTARY=n | ||
6 | CONFIG_PREEMPT=y | ||
7 | CONFIG_DEBUG_LOCK_ALLOC=y | ||
8 | CONFIG_PROVE_RCU=y | ||
9 | CONFIG_TASKS_RCU=y | ||
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/TASKS01.boot b/tools/testing/selftests/rcutorture/configs/rcu/TASKS01.boot new file mode 100644 index 000000000000..cd2a188eeb6d --- /dev/null +++ b/tools/testing/selftests/rcutorture/configs/rcu/TASKS01.boot | |||
@@ -0,0 +1 @@ | |||
rcutorture.torture_type=tasks | |||
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/TASKS02 b/tools/testing/selftests/rcutorture/configs/rcu/TASKS02 new file mode 100644 index 000000000000..696d2ea74d13 --- /dev/null +++ b/tools/testing/selftests/rcutorture/configs/rcu/TASKS02 | |||
@@ -0,0 +1,5 @@ | |||
1 | CONFIG_SMP=n | ||
2 | CONFIG_PREEMPT_NONE=y | ||
3 | CONFIG_PREEMPT_VOLUNTARY=n | ||
4 | CONFIG_PREEMPT=n | ||
5 | CONFIG_TASKS_RCU=y | ||
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/TASKS02.boot b/tools/testing/selftests/rcutorture/configs/rcu/TASKS02.boot new file mode 100644 index 000000000000..cd2a188eeb6d --- /dev/null +++ b/tools/testing/selftests/rcutorture/configs/rcu/TASKS02.boot | |||
@@ -0,0 +1 @@ | |||
rcutorture.torture_type=tasks | |||
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/TASKS03 b/tools/testing/selftests/rcutorture/configs/rcu/TASKS03 new file mode 100644 index 000000000000..9c60da5b5d1d --- /dev/null +++ b/tools/testing/selftests/rcutorture/configs/rcu/TASKS03 | |||
@@ -0,0 +1,13 @@ | |||
1 | CONFIG_SMP=y | ||
2 | CONFIG_NR_CPUS=2 | ||
3 | CONFIG_HOTPLUG_CPU=n | ||
4 | CONFIG_SUSPEND=n | ||
5 | CONFIG_HIBERNATION=n | ||
6 | CONFIG_PREEMPT_NONE=n | ||
7 | CONFIG_PREEMPT_VOLUNTARY=n | ||
8 | CONFIG_PREEMPT=y | ||
9 | CONFIG_TASKS_RCU=y | ||
10 | CONFIG_HZ_PERIODIC=n | ||
11 | CONFIG_NO_HZ_IDLE=n | ||
12 | CONFIG_NO_HZ_FULL=y | ||
13 | CONFIG_NO_HZ_FULL_ALL=y | ||
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/TASKS03.boot b/tools/testing/selftests/rcutorture/configs/rcu/TASKS03.boot new file mode 100644 index 000000000000..cd2a188eeb6d --- /dev/null +++ b/tools/testing/selftests/rcutorture/configs/rcu/TASKS03.boot | |||
@@ -0,0 +1 @@ | |||
rcutorture.torture_type=tasks | |||
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/TREE01 b/tools/testing/selftests/rcutorture/configs/rcu/TREE01 index 063b7079c621..38e3895759dd 100644 --- a/tools/testing/selftests/rcutorture/configs/rcu/TREE01 +++ b/tools/testing/selftests/rcutorture/configs/rcu/TREE01 | |||
@@ -1,5 +1,4 @@ | |||
1 | CONFIG_SMP=y | 1 | CONFIG_SMP=y |
2 | CONFIG_NR_CPUS=8 | ||
3 | CONFIG_PREEMPT_NONE=n | 2 | CONFIG_PREEMPT_NONE=n |
4 | CONFIG_PREEMPT_VOLUNTARY=n | 3 | CONFIG_PREEMPT_VOLUNTARY=n |
5 | CONFIG_PREEMPT=y | 4 | CONFIG_PREEMPT=y |
@@ -10,8 +9,7 @@ CONFIG_NO_HZ_FULL=n | |||
10 | CONFIG_RCU_FAST_NO_HZ=y | 9 | CONFIG_RCU_FAST_NO_HZ=y |
11 | CONFIG_RCU_TRACE=y | 10 | CONFIG_RCU_TRACE=y |
12 | CONFIG_HOTPLUG_CPU=y | 11 | CONFIG_HOTPLUG_CPU=y |
13 | CONFIG_RCU_FANOUT=8 | 12 | CONFIG_MAXSMP=y |
14 | CONFIG_RCU_FANOUT_EXACT=n | ||
15 | CONFIG_RCU_NOCB_CPU=y | 13 | CONFIG_RCU_NOCB_CPU=y |
16 | CONFIG_RCU_NOCB_CPU_ZERO=y | 14 | CONFIG_RCU_NOCB_CPU_ZERO=y |
17 | CONFIG_DEBUG_LOCK_ALLOC=n | 15 | CONFIG_DEBUG_LOCK_ALLOC=n |
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/TREE01.boot b/tools/testing/selftests/rcutorture/configs/rcu/TREE01.boot index 0fc8a3428938..adc3abc82fb8 100644 --- a/tools/testing/selftests/rcutorture/configs/rcu/TREE01.boot +++ b/tools/testing/selftests/rcutorture/configs/rcu/TREE01.boot | |||
@@ -1 +1 @@ | |||
rcutorture.torture_type=rcu_bh | rcutorture.torture_type=rcu_bh maxcpus=8 | ||
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/TREE07 b/tools/testing/selftests/rcutorture/configs/rcu/TREE07 index ab6225506909..8f1017666aa7 100644 --- a/tools/testing/selftests/rcutorture/configs/rcu/TREE07 +++ b/tools/testing/selftests/rcutorture/configs/rcu/TREE07 | |||
@@ -1,5 +1,6 @@ | |||
1 | CONFIG_SMP=y | 1 | CONFIG_SMP=y |
2 | CONFIG_NR_CPUS=16 | 2 | CONFIG_NR_CPUS=16 |
3 | CONFIG_CPUMASK_OFFSTACK=y | ||
3 | CONFIG_PREEMPT_NONE=y | 4 | CONFIG_PREEMPT_NONE=y |
4 | CONFIG_PREEMPT_VOLUNTARY=n | 5 | CONFIG_PREEMPT_VOLUNTARY=n |
5 | CONFIG_PREEMPT=n | 6 | CONFIG_PREEMPT=n |
@@ -7,7 +8,7 @@ CONFIG_PREEMPT=n | |||
7 | CONFIG_HZ_PERIODIC=n | 8 | CONFIG_HZ_PERIODIC=n |
8 | CONFIG_NO_HZ_IDLE=n | 9 | CONFIG_NO_HZ_IDLE=n |
9 | CONFIG_NO_HZ_FULL=y | 10 | CONFIG_NO_HZ_FULL=y |
10 | CONFIG_NO_HZ_FULL_ALL=y | 11 | CONFIG_NO_HZ_FULL_ALL=n |
11 | CONFIG_NO_HZ_FULL_SYSIDLE=y | 12 | CONFIG_NO_HZ_FULL_SYSIDLE=y |
12 | CONFIG_RCU_FAST_NO_HZ=n | 13 | CONFIG_RCU_FAST_NO_HZ=n |
13 | CONFIG_RCU_TRACE=y | 14 | CONFIG_RCU_TRACE=y |
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/TREE07.boot b/tools/testing/selftests/rcutorture/configs/rcu/TREE07.boot new file mode 100644 index 000000000000..d44609937503 --- /dev/null +++ b/tools/testing/selftests/rcutorture/configs/rcu/TREE07.boot | |||
@@ -0,0 +1 @@ | |||
nohz_full=2-9 | |||
diff --git a/tools/testing/selftests/rcutorture/configs/rcu/ver_functions.sh b/tools/testing/selftests/rcutorture/configs/rcu/ver_functions.sh index 8977d8d31b19..ffb85ed786fa 100644 --- a/tools/testing/selftests/rcutorture/configs/rcu/ver_functions.sh +++ b/tools/testing/selftests/rcutorture/configs/rcu/ver_functions.sh | |||
@@ -51,7 +51,7 @@ per_version_boot_params () { | |||
51 | `rcutorture_param_n_barrier_cbs "$1"` \ | 51 | `rcutorture_param_n_barrier_cbs "$1"` \ |
52 | rcutorture.stat_interval=15 \ | 52 | rcutorture.stat_interval=15 \ |
53 | rcutorture.shutdown_secs=$3 \ | 53 | rcutorture.shutdown_secs=$3 \ |
54 | rcutorture.rcutorture_runnable=1 \ | 54 | rcutorture.torture_runnable=1 \ |
55 | rcutorture.test_no_idle_hz=1 \ | 55 | rcutorture.test_no_idle_hz=1 \ |
56 | rcutorture.verbose=1 | 56 | rcutorture.verbose=1 |
57 | } | 57 | } |
diff --git a/tools/testing/selftests/rcutorture/doc/initrd.txt b/tools/testing/selftests/rcutorture/doc/initrd.txt index 49d134c25c04..4170e714f044 100644 --- a/tools/testing/selftests/rcutorture/doc/initrd.txt +++ b/tools/testing/selftests/rcutorture/doc/initrd.txt | |||
@@ -6,6 +6,7 @@ this case. There are probably much better ways of doing this. | |||
6 | That said, here are the commands: | 6 | That said, here are the commands: |
7 | 7 | ||
8 | ------------------------------------------------------------------------ | 8 | ------------------------------------------------------------------------ |
9 | cd tools/testing/selftests/rcutorture | ||
9 | zcat /initrd.img > /tmp/initrd.img.zcat | 10 | zcat /initrd.img > /tmp/initrd.img.zcat |
10 | mkdir initrd | 11 | mkdir initrd |
11 | cd initrd | 12 | cd initrd |