Skip to contentSkip to conversation

RCU updates for v3.14

GIT PULL Ingo Molnar 1 participant 1 message Jan 20, 2014

Subsystems (7)
lore
Share & tools
lore
#0 lore raw

Linus,

Please pull the latest core-rcu-for-linus git tree from:

git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git core-rcu-for-linus

# HEAD: 73a7ac2808fa52bdab1781646568b6f90c3d7034 Merge branch 'rcu/next' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu into core/rcu

The main RCU changes in this cycle are:

* Add RCU torture scripts/tooling.

* Static analysis improvements.

* Update RCU documentation.

* Miscellaneous fixes.

Thanks,

Ingo

------------------>
Chen Gang (1):
rcu/torture: Dynamically allocate SRCU output buffer to avoid overflow

Fengguang Wu (1):
rcu: Fix coccinelle warnings

Josh Triplett (1):
rcu: Make rcu_assign_pointer's assignment volatile and type-safe

Lai Jiangshan (1):
rcu: Warn on allegedly impossible rcu_read_unlock_special() from irq

Paul E. McKenney (46):
rcu: Fix typo in Documentation/RCU/trace.txt
rcu: Fix formatting blows in kernel-parameters.txt
documentation: Fix circular-buffer example.
documentation: Update circular buffer for load-acquire/store-release
rcu: Kick CPU halfway to RCU CPU stall warning
rcu: Fix and comment ordering around wait_event()
rcu: Break call_rcu() deadlock involving scheduler and perf
rcu: Allow task-level idle entry/exit nesting
rcu: Fix srcu_barrier() docbook header
rcu: Let the world know when RCU adjusts its geometry
rcutorture: Add KVM-based test framework
rcutorture: Add datestamp argument to kvm.sh
rcutorture: Add kernel-version argument
rcutorture: Add per-version default Kconfig fragments and module parameters
rcutorture: Add per-Kconfig fragment boot parameters
rcutorture: Add v3.12 version, which adds sysidle testing
rcutorture: Add SRCU Kconfig-fragment files
rcutorture: Refactor TREE_RCU test cases
rcutorture: Refactor TINY_RCU test cases
rcutorture: Make test output less chatty
rcutorture: Eliminate duplicate .config-check code
rcutorture: Abstract qemu-flavor identification
rcutorture: Remove decorative qemu argument
rcutorture: Eliminate --rcu-kvm argument
rcutorture: Refactor to enable non-x86 architectures
rcutorture: Allow Kconfig-related boot parameters to override
rcutorture: Eliminate configdir argument from kvm-recheck.sh script
rcutorture: Add --buildonly dry-run capability
rcutorture: Add --bootargs argument to specify additional boot arguments
rcutorture: Add --qemu-args argument to kvm.sh
rcutorture: Add --no-initrd argument to kvm.sh
rcutorture: Add --kmake-arg argument to kvm.sh
rcutorture: Add tracing-enabled version of TREE08
rcutorture: Update comment in kvm.sh listing typical RCU trace events
rcutorture: Test summary at end of run with less chattiness
rcutorture: Record results from repeated runs of the same test scenario
rcutorture: Flag errors and warnings with color coding
rcutorture: Move checkarg to functions.sh
rcutorture: Stop tracking FSF's postal address
rcu: Fix CONFIG_RCU_FANOUT_EXACT for odd fanout/leaf values
rcu: Improve SRCU's grace-period comments
rcu: Provide better diagnostics for blocking in RCU callback functions
rcu: Add comment on evaluate-once properties of rcu_assign_pointer().
bonding: Use RCU_INIT_POINTER() for better overhead and for sparse
rcu: Add an RCU_INITIALIZER for global RCU-protected pointers
rcu: Don't activate RCU core on NO_HZ_FULL CPUs

Teodora Baluta (2):
rcu: Remove "extern" from function declarations in include/linux/*rcu*.h
rcu: Remove "extern" from function declarations in kernel/rcu/rcu.h

 Documentation/RCU/trace.txt                        |  22 ++-
 Documentation/circular-buffers.txt                 |  45 +++--
 Documentation/kernel-parameters.txt                |   9 +-
 MAINTAINERS                                        |   6 +
 drivers/net/bonding/bond_main.c                    |   2 +-
 include/linux/rculist.h                            |   4 +-
 include/linux/rcupdate.h                           | 153 ++++++++-------
 include/linux/rcutiny.h                            |   2 +-
 include/linux/rcutree.h                            |  36 ++--
 kernel/rcu/rcu.h                                   |   5 +-
 kernel/rcu/srcu.c                                  |  57 +++++-
 kernel/rcu/torture.c                               |  75 ++++----
 kernel/rcu/tree.c                                  |  79 ++++++--
 kernel/rcu/tree.h                                  |  12 +-
 kernel/rcu/tree_plugin.h                           |  89 +++++++--
 kernel/rcu/tree_trace.c                            |   3 +-
 kernel/rcu/update.c                                |   5 +
 tools/testing/selftests/rcutorture/.gitignore      |   6 +
 .../selftests/rcutorture/bin/config2frag.sh        |  25 +++
 .../selftests/rcutorture/bin/configNR_CPUS.sh      |  45 +++++
 .../selftests/rcutorture/bin/configcheck.sh        |  54 ++++++
 .../testing/selftests/rcutorture/bin/configinit.sh |  74 ++++++++
 tools/testing/selftests/rcutorture/bin/cpus2use.sh |  41 ++++
 .../testing/selftests/rcutorture/bin/functions.sh  | 198 +++++++++++++++++++
 .../testing/selftests/rcutorture/bin/kvm-build.sh  |  71 +++++++
 .../selftests/rcutorture/bin/kvm-recheck.sh        |  44 +++++
 .../selftests/rcutorture/bin/kvm-test-1-rcu.sh     | 192 +++++++++++++++++++
 tools/testing/selftests/rcutorture/bin/kvm.sh      | 210 +++++++++++++++++++++
 .../selftests/rcutorture/bin/parse-build.sh        |  57 ++++++
 .../selftests/rcutorture/bin/parse-console.sh      |  41 ++++
 .../selftests/rcutorture/bin/parse-rcutorture.sh   | 106 +++++++++++
 tools/testing/selftests/rcutorture/configs/CFLIST  |  13 ++
 tools/testing/selftests/rcutorture/configs/SRCU-N  |   8 +
 .../selftests/rcutorture/configs/SRCU-N.boot       |   1 +
 tools/testing/selftests/rcutorture/configs/SRCU-P  |   8 +
 .../selftests/rcutorture/configs/SRCU-P.boot       |   1 +
 tools/testing/selftests/rcutorture/configs/TINY01  |  13 ++
 tools/testing/selftests/rcutorture/configs/TINY02  |  13 ++
 tools/testing/selftests/rcutorture/configs/TREE01  |  23 +++
 .../selftests/rcutorture/configs/TREE01.boot       |   1 +
 tools/testing/selftests/rcutorture/configs/TREE02  |  26 +++
 tools/testing/selftests/rcutorture/configs/TREE03  |  23 +++
 tools/testing/selftests/rcutorture/configs/TREE04  |  25 +++
 .../selftests/rcutorture/configs/TREE04.boot       |   1 +
 tools/testing/selftests/rcutorture/configs/TREE05  |  25 +++
 .../selftests/rcutorture/configs/TREE05.boot       |   1 +
 tools/testing/selftests/rcutorture/configs/TREE06  |  26 +++
 tools/testing/selftests/rcutorture/configs/TREE07  |  24 +++
 tools/testing/selftests/rcutorture/configs/TREE08  |  26 +++
 .../testing/selftests/rcutorture/configs/TREE08-T  |  26 +++
 tools/testing/selftests/rcutorture/configs/TREE09  |  21 +++
 .../selftests/rcutorture/configs/v0.0/CFLIST       |  14 ++
 .../rcutorture/configs/v0.0/N1-S-T-NH-SD-SMP-HP    |  18 ++
 .../rcutorture/configs/v0.0/N2-2-t-nh-sd-SMP-hp    |  20 ++
 .../rcutorture/configs/v0.0/N3-3-T-nh-SD-SMP-hp    |  22 +++
 .../rcutorture/configs/v0.0/N4-A-t-NH-sd-SMP-HP    |  18 ++
 .../rcutorture/configs/v0.0/N5-U-T-NH-sd-SMP-hp    |  22 +++
 .../selftests/rcutorture/configs/v0.0/NT1-nh       |  23 +++
 .../selftests/rcutorture/configs/v0.0/NT3-NH       |  20 ++
 .../rcutorture/configs/v0.0/P1-S-T-NH-SD-SMP-HP    |  19 ++
 .../rcutorture/configs/v0.0/P2-2-t-nh-sd-SMP-hp    |  20 ++
 .../rcutorture/configs/v0.0/P3-3-T-nh-SD-SMP-hp    |  20 ++
 .../rcutorture/configs/v0.0/P4-A-t-NH-sd-SMP-HP    |  22 +++
 .../rcutorture/configs/v0.0/P5-U-T-NH-sd-SMP-hp    |  28 +++
 .../selftests/rcutorture/configs/v0.0/PT1-nh       |  23 +++
 .../selftests/rcutorture/configs/v0.0/PT2-NH       |  22 +++
 .../rcutorture/configs/v0.0/ver_functions.sh       |  35 ++++
 .../selftests/rcutorture/configs/v3.12/CFLIST      |  17 ++
 .../rcutorture/configs/v3.12/N1-S-T-NH-SD-SMP-HP   |  19 ++
 .../rcutorture/configs/v3.12/N2-2-t-nh-sd-SMP-hp   |  20 ++
 .../rcutorture/configs/v3.12/N3-3-T-nh-SD-SMP-hp   |  22 +++
 .../rcutorture/configs/v3.12/N4-A-t-NH-sd-SMP-HP   |  18 ++
 .../rcutorture/configs/v3.12/N5-U-T-NH-sd-SMP-hp   |  22 +++
 .../rcutorture/configs/v3.12/N6---t-nh-SD-smp-hp   |  19 ++
 .../rcutorture/configs/v3.12/N7-4-T-NH-SD-SMP-HP   |  26 +++
 .../rcutorture/configs/v3.12/N8-2-T-NH-SD-SMP-HP   |  22 +++
 .../selftests/rcutorture/configs/v3.12/NT1-nh      |  23 +++
 .../selftests/rcutorture/configs/v3.12/NT3-NH      |  20 ++
 .../rcutorture/configs/v3.12/P1-S-T-NH-SD-SMP-HP   |  20 ++
 .../rcutorture/configs/v3.12/P2-2-t-nh-sd-SMP-hp   |  20 ++
 .../rcutorture/configs/v3.12/P3-3-T-nh-SD-SMP-hp   |  20 ++
 .../rcutorture/configs/v3.12/P4-A-t-NH-sd-SMP-HP   |  22 +++
 .../rcutorture/configs/v3.12/P5-U-T-NH-sd-SMP-hp   |  28 +++
 .../rcutorture/configs/v3.12/P6---t-nh-SD-smp-hp   |  18 ++
 .../rcutorture/configs/v3.12/P7-4-T-NH-SD-SMP-HP   |  30 +++
 .../configs/v3.12/P7-4-T-NH-SD-SMP-HP-all          |  30 +++
 .../configs/v3.12/P7-4-T-NH-SD-SMP-HP-none         |  30 +++
 .../rcutorture/configs/v3.12/P7-4-T-NH-SD-SMP-hp   |  30 +++
 .../selftests/rcutorture/configs/v3.12/PT1-nh      |  23 +++
 .../selftests/rcutorture/configs/v3.12/PT2-NH      |  22 +++
 .../selftests/rcutorture/configs/v3.3/CFLIST       |  14 ++
 .../rcutorture/configs/v3.3/N1-S-T-NH-SD-SMP-HP    |  19 ++
 .../rcutorture/configs/v3.3/N2-2-t-nh-sd-SMP-hp    |  20 ++
 .../rcutorture/configs/v3.3/N3-3-T-nh-SD-SMP-hp    |  22 +++
 .../rcutorture/configs/v3.3/N4-A-t-NH-sd-SMP-HP    |  18 ++
 .../rcutorture/configs/v3.3/N5-U-T-NH-sd-SMP-hp    |  22 +++
 .../selftests/rcutorture/configs/v3.3/NT1-nh       |  23 +++
 .../selftests/rcutorture/configs/v3.3/NT3-NH       |  20 ++
 .../rcutorture/configs/v3.3/P1-S-T-NH-SD-SMP-HP    |  20 ++
 .../rcutorture/configs/v3.3/P2-2-t-nh-sd-SMP-hp    |  20 ++
 .../rcutorture/configs/v3.3/P3-3-T-nh-SD-SMP-hp    |  20 ++
 .../rcutorture/configs/v3.3/P4-A-t-NH-sd-SMP-HP    |  22 +++
 .../rcutorture/configs/v3.3/P5-U-T-NH-sd-SMP-hp    |  28 +++
 .../selftests/rcutorture/configs/v3.3/PT1-nh       |  23 +++
 .../selftests/rcutorture/configs/v3.3/PT2-NH       |  22 +++
 .../rcutorture/configs/v3.3/ver_functions.sh       |  41 ++++
 .../selftests/rcutorture/configs/v3.5/CFLIST       |  14 ++
 .../rcutorture/configs/v3.5/N1-S-T-NH-SD-SMP-HP    |  19 ++
 .../rcutorture/configs/v3.5/N2-2-t-nh-sd-SMP-hp    |  20 ++
 .../rcutorture/configs/v3.5/N3-3-T-nh-SD-SMP-hp    |  22 +++
 .../rcutorture/configs/v3.5/N4-A-t-NH-sd-SMP-HP    |  18 ++
 .../rcutorture/configs/v3.5/N5-U-T-NH-sd-SMP-hp    |  22 +++
 .../selftests/rcutorture/configs/v3.5/NT1-nh       |  23 +++
 .../selftests/rcutorture/configs/v3.5/NT3-NH       |  20 ++
 .../rcutorture/configs/v3.5/P1-S-T-NH-SD-SMP-HP    |  20 ++
 .../rcutorture/configs/v3.5/P2-2-t-nh-sd-SMP-hp    |  20 ++
 .../rcutorture/configs/v3.5/P3-3-T-nh-SD-SMP-hp    |  20 ++
 .../rcutorture/configs/v3.5/P4-A-t-NH-sd-SMP-HP    |  22 +++
 .../rcutorture/configs/v3.5/P5-U-T-NH-sd-SMP-hp    |  28 +++
 .../selftests/rcutorture/configs/v3.5/PT1-nh       |  23 +++
 .../selftests/rcutorture/configs/v3.5/PT2-NH       |  22 +++
 .../rcutorture/configs/v3.5/ver_functions.sh       |  46 +++++
 .../selftests/rcutorture/configs/ver_functions.sh  |  46 +++++
 .../testing/selftests/rcutorture/doc/TINY_RCU.txt  |  40 ++++
 .../selftests/rcutorture/doc/TREE_RCU-Kconfig.txt  |  95 ++++++++++
 tools/testing/selftests/rcutorture/doc/initrd.txt  |  90 +++++++++
 .../selftests/rcutorture/doc/rcu-test-image.txt    |  42 +++++
 127 files changed, 3768 insertions(+), 198 deletions(-)
 create mode 100644 tools/testing/selftests/rcutorture/.gitignore
 create mode 100644 tools/testing/selftests/rcutorture/bin/config2frag.sh
 create mode 100755 tools/testing/selftests/rcutorture/bin/configNR_CPUS.sh
 create mode 100755 tools/testing/selftests/rcutorture/bin/configcheck.sh
 create mode 100755 tools/testing/selftests/rcutorture/bin/configinit.sh
 create mode 100755 tools/testing/selftests/rcutorture/bin/cpus2use.sh
 create mode 100644 tools/testing/selftests/rcutorture/bin/functions.sh
 create mode 100755 tools/testing/selftests/rcutorture/bin/kvm-build.sh
 create mode 100755 tools/testing/selftests/rcutorture/bin/kvm-recheck.sh
 create mode 100755 tools/testing/selftests/rcutorture/bin/kvm-test-1-rcu.sh
 create mode 100644 tools/testing/selftests/rcutorture/bin/kvm.sh
 create mode 100755 tools/testing/selftests/rcutorture/bin/parse-build.sh
 create mode 100755 tools/testing/selftests/rcutorture/bin/parse-console.sh
 create mode 100755 tools/testing/selftests/rcutorture/bin/parse-rcutorture.sh
 create mode 100644 tools/testing/selftests/rcutorture/configs/CFLIST
 create mode 100644 tools/testing/selftests/rcutorture/configs/SRCU-N
 create mode 100644 tools/testing/selftests/rcutorture/configs/SRCU-N.boot
 create mode 100644 tools/testing/selftests/rcutorture/configs/SRCU-P
 create mode 100644 tools/testing/selftests/rcutorture/configs/SRCU-P.boot
 create mode 100644 tools/testing/selftests/rcutorture/configs/TINY01
 create mode 100644 tools/testing/selftests/rcutorture/configs/TINY02
 create mode 100644 tools/testing/selftests/rcutorture/configs/TREE01
 create mode 100644 tools/testing/selftests/rcutorture/configs/TREE01.boot
 create mode 100644 tools/testing/selftests/rcutorture/configs/TREE02
 create mode 100644 tools/testing/selftests/rcutorture/configs/TREE03
 create mode 100644 tools/testing/selftests/rcutorture/configs/TREE04
 create mode 100644 tools/testing/selftests/rcutorture/configs/TREE04.boot
 create mode 100644 tools/testing/selftests/rcutorture/configs/TREE05
 create mode 100644 tools/testing/selftests/rcutorture/configs/TREE05.boot
 create mode 100644 tools/testing/selftests/rcutorture/configs/TREE06
 create mode 100644 tools/testing/selftests/rcutorture/configs/TREE07
 create mode 100644 tools/testing/selftests/rcutorture/configs/TREE08
 create mode 100644 tools/testing/selftests/rcutorture/configs/TREE08-T
 create mode 100644 tools/testing/selftests/rcutorture/configs/TREE09
 create mode 100644 tools/testing/selftests/rcutorture/configs/v0.0/CFLIST
 create mode 100644 tools/testing/selftests/rcutorture/configs/v0.0/N1-S-T-NH-SD-SMP-HP
 create mode 100644 tools/testing/selftests/rcutorture/configs/v0.0/N2-2-t-nh-sd-SMP-hp
 create mode 100644 tools/testing/selftests/rcutorture/configs/v0.0/N3-3-T-nh-SD-SMP-hp
 create mode 100644 tools/testing/selftests/rcutorture/configs/v0.0/N4-A-t-NH-sd-SMP-HP
 create mode 100644 tools/testing/selftests/rcutorture/configs/v0.0/N5-U-T-NH-sd-SMP-hp
 create mode 100644 tools/testing/selftests/rcutorture/configs/v0.0/NT1-nh
 create mode 100644 tools/testing/selftests/rcutorture/configs/v0.0/NT3-NH
 create mode 100644 tools/testing/selftests/rcutorture/configs/v0.0/P1-S-T-NH-SD-SMP-HP
 create mode 100644 tools/testing/selftests/rcutorture/configs/v0.0/P2-2-t-nh-sd-SMP-hp
 create mode 100644 tools/testing/selftests/rcutorture/configs/v0.0/P3-3-T-nh-SD-SMP-hp
 create mode 100644 tools/testing/selftests/rcutorture/configs/v0.0/P4-A-t-NH-sd-SMP-HP
 create mode 100644 tools/testing/selftests/rcutorture/configs/v0.0/P5-U-T-NH-sd-SMP-hp
 create mode 100644 tools/testing/selftests/rcutorture/configs/v0.0/PT1-nh
 create mode 100644 tools/testing/selftests/rcutorture/configs/v0.0/PT2-NH
 create mode 100644 tools/testing/selftests/rcutorture/configs/v0.0/ver_functions.sh
 create mode 100644 tools/testing/selftests/rcutorture/configs/v3.12/CFLIST
 create mode 100644 tools/testing/selftests/rcutorture/configs/v3.12/N1-S-T-NH-SD-SMP-HP
 create mode 100644 tools/testing/selftests/rcutorture/configs/v3.12/N2-2-t-nh-sd-SMP-hp
 create mode 100644 tools/testing/selftests/rcutorture/configs/v3.12/N3-3-T-nh-SD-SMP-hp
 create mode 100644 tools/testing/selftests/rcutorture/configs/v3.12/N4-A-t-NH-sd-SMP-HP
 create mode 100644 tools/testing/selftests/rcutorture/configs/v3.12/N5-U-T-NH-sd-SMP-hp
 create mode 100644 tools/testing/selftests/rcutorture/configs/v3.12/N6---t-nh-SD-smp-hp
 create mode 100644 tools/testing/selftests/rcutorture/configs/v3.12/N7-4-T-NH-SD-SMP-HP
 create mode 100644 tools/testing/selftests/rcutorture/configs/v3.12/N8-2-T-NH-SD-SMP-HP
 create mode 100644 tools/testing/selftests/rcutorture/configs/v3.12/NT1-nh
 create mode 100644 tools/testing/selftests/rcutorture/configs/v3.12/NT3-NH
 create mode 100644 tools/testing/selftests/rcutorture/configs/v3.12/P1-S-T-NH-SD-SMP-HP
 create mode 100644 tools/testing/selftests/rcutorture/configs/v3.12/P2-2-t-nh-sd-SMP-hp
 create mode 100644 tools/testing/selftests/rcutorture/configs/v3.12/P3-3-T-nh-SD-SMP-hp
 create mode 100644 tools/testing/selftests/rcutorture/configs/v3.12/P4-A-t-NH-sd-SMP-HP
 create mode 100644 tools/testing/selftests/rcutorture/configs/v3.12/P5-U-T-NH-sd-SMP-hp
 create mode 100644 tools/testing/selftests/rcutorture/configs/v3.12/P6---t-nh-SD-smp-hp
 create mode 100644 tools/testing/selftests/rcutorture/configs/v3.12/P7-4-T-NH-SD-SMP-HP
 create mode 100644 tools/testing/selftests/rcutorture/configs/v3.12/P7-4-T-NH-SD-SMP-HP-all
 create mode 100644 tools/testing/selftests/rcutorture/configs/v3.12/P7-4-T-NH-SD-SMP-HP-none
 create mode 100644 tools/testing/selftests/rcutorture/configs/v3.12/P7-4-T-NH-SD-SMP-hp
 create mode 100644 tools/testing/selftests/rcutorture/configs/v3.12/PT1-nh
 create mode 100644 tools/testing/selftests/rcutorture/configs/v3.12/PT2-NH
 create mode 100644 tools/testing/selftests/rcutorture/configs/v3.3/CFLIST
 create mode 100644 tools/testing/selftests/rcutorture/configs/v3.3/N1-S-T-NH-SD-SMP-HP
 create mode 100644 tools/testing/selftests/rcutorture/configs/v3.3/N2-2-t-nh-sd-SMP-hp
 create mode 100644 tools/testing/selftests/rcutorture/configs/v3.3/N3-3-T-nh-SD-SMP-hp
 create mode 100644 tools/testing/selftests/rcutorture/configs/v3.3/N4-A-t-NH-sd-SMP-HP
 create mode 100644 tools/testing/selftests/rcutorture/configs/v3.3/N5-U-T-NH-sd-SMP-hp
 create mode 100644 tools/testing/selftests/rcutorture/configs/v3.3/NT1-nh
 create mode 100644 tools/testing/selftests/rcutorture/configs/v3.3/NT3-NH
 create mode 100644 tools/testing/selftests/rcutorture/configs/v3.3/P1-S-T-NH-SD-SMP-HP
 create mode 100644 tools/testing/selftests/rcutorture/configs/v3.3/P2-2-t-nh-sd-SMP-hp
 create mode 100644 tools/testing/selftests/rcutorture/configs/v3.3/P3-3-T-nh-SD-SMP-hp
 create mode 100644 tools/testing/selftests/rcutorture/configs/v3.3/P4-A-t-NH-sd-SMP-HP
 create mode 100644 tools/testing/selftests/rcutorture/configs/v3.3/P5-U-T-NH-sd-SMP-hp
 create mode 100644 tools/testing/selftests/rcutorture/configs/v3.3/PT1-nh
 create mode 100644 tools/testing/selftests/rcutorture/configs/v3.3/PT2-NH
 create mode 100644 tools/testing/selftests/rcutorture/configs/v3.3/ver_functions.sh
 create mode 100644 tools/testing/selftests/rcutorture/configs/v3.5/CFLIST
 create mode 100644 tools/testing/selftests/rcutorture/configs/v3.5/N1-S-T-NH-SD-SMP-HP
 create mode 100644 tools/testing/selftests/rcutorture/configs/v3.5/N2-2-t-nh-sd-SMP-hp
 create mode 100644 tools/testing/selftests/rcutorture/configs/v3.5/N3-3-T-nh-SD-SMP-hp
 create mode 100644 tools/testing/selftests/rcutorture/configs/v3.5/N4-A-t-NH-sd-SMP-HP
 create mode 100644 tools/testing/selftests/rcutorture/configs/v3.5/N5-U-T-NH-sd-SMP-hp
 create mode 100644 tools/testing/selftests/rcutorture/configs/v3.5/NT1-nh
 create mode 100644 tools/testing/selftests/rcutorture/configs/v3.5/NT3-NH
 create mode 100644 tools/testing/selftests/rcutorture/configs/v3.5/P1-S-T-NH-SD-SMP-HP
 create mode 100644 tools/testing/selftests/rcutorture/configs/v3.5/P2-2-t-nh-sd-SMP-hp
 create mode 100644 tools/testing/selftests/rcutorture/configs/v3.5/P3-3-T-nh-SD-SMP-hp
 create mode 100644 tools/testing/selftests/rcutorture/configs/v3.5/P4-A-t-NH-sd-SMP-HP
 create mode 100644 tools/testing/selftests/rcutorture/configs/v3.5/P5-U-T-NH-sd-SMP-hp
 create mode 100644 tools/testing/selftests/rcutorture/configs/v3.5/PT1-nh
 create mode 100644 tools/testing/selftests/rcutorture/configs/v3.5/PT2-NH
 create mode 100644 tools/testing/selftests/rcutorture/configs/v3.5/ver_functions.sh
 create mode 100644 tools/testing/selftests/rcutorture/configs/ver_functions.sh
 create mode 100644 tools/testing/selftests/rcutorture/doc/TINY_RCU.txt
 create mode 100644 tools/testing/selftests/rcutorture/doc/TREE_RCU-Kconfig.txt
 create mode 100644 tools/testing/selftests/rcutorture/doc/initrd.txt
 create mode 100644 tools/testing/selftests/rcutorture/doc/rcu-test-image.txt
Documentation/RCU/trace.txt +13 -9
index f3778f8..910870b 100644
@@ -396,14 +396,14 @@ o	Each element of the form "3/3 ..>. 0:7 ^0" represents one rcu_node
 
 The output of "cat rcu/rcu_sched/rcu_pending" looks as follows:
 
-  0!np=26111 qsp=29 rpq=5386 cbr=1 cng=570 gpc=3674 gps=577 nn=15903
-  1!np=28913 qsp=35 rpq=6097 cbr=1 cng=448 gpc=3700 gps=554 nn=18113
-  2!np=32740 qsp=37 rpq=6202 cbr=0 cng=476 gpc=4627 gps=546 nn=20889
-  3 np=23679 qsp=22 rpq=5044 cbr=1 cng=415 gpc=3403 gps=347 nn=14469
-  4!np=30714 qsp=4 rpq=5574 cbr=0 cng=528 gpc=3931 gps=639 nn=20042
-  5 np=28910 qsp=2 rpq=5246 cbr=0 cng=428 gpc=4105 gps=709 nn=18422
-  6!np=38648 qsp=5 rpq=7076 cbr=0 cng=840 gpc=4072 gps=961 nn=25699
-  7 np=37275 qsp=2 rpq=6873 cbr=0 cng=868 gpc=3416 gps=971 nn=25147
+  0!np=26111 qsp=29 rpq=5386 cbr=1 cng=570 gpc=3674 gps=577 nn=15903 ndw=0
+  1!np=28913 qsp=35 rpq=6097 cbr=1 cng=448 gpc=3700 gps=554 nn=18113 ndw=0
+  2!np=32740 qsp=37 rpq=6202 cbr=0 cng=476 gpc=4627 gps=546 nn=20889 ndw=0
+  3 np=23679 qsp=22 rpq=5044 cbr=1 cng=415 gpc=3403 gps=347 nn=14469 ndw=0
+  4!np=30714 qsp=4 rpq=5574 cbr=0 cng=528 gpc=3931 gps=639 nn=20042 ndw=0
+  5 np=28910 qsp=2 rpq=5246 cbr=0 cng=428 gpc=4105 gps=709 nn=18422 ndw=0
+  6!np=38648 qsp=5 rpq=7076 cbr=0 cng=840 gpc=4072 gps=961 nn=25699 ndw=0
+  7 np=37275 qsp=2 rpq=6873 cbr=0 cng=868 gpc=3416 gps=971 nn=25147 ndw=0
 
 The fields are as follows:
 
@@ -432,6 +432,10 @@ o	"gpc" is the number of times that an old grace period had
 o	"gps" is the number of times that a new grace period had started,
 	but this CPU was not yet aware of it.
 
+o	"ndw" is the number of times that a wakeup of an rcuo
+	callback-offload kthread had to be deferred in order to avoid
+	deadlock.
+
 o	"nn" is the number of times that this CPU needed nothing.
 
 
@@ -443,7 +447,7 @@ The output of "cat rcu/rcuboost" looks as follows:
     balk: nt=0 egt=6541 bt=0 nb=0 ny=126 nos=0
 
 This information is output only for rcu_preempt.  Each two-line entry
-corresponds to a leaf rcu_node strcuture.  The fields are as follows:
+corresponds to a leaf rcu_node structure.  The fields are as follows:
 
 o	"n:m" is the CPU-number range for the corresponding two-line
 	entry.  In the sample output above, the first entry covers
Documentation/circular-buffers.txt +27 -18

84 lines not on this page · raw message

Documentation/kernel-parameters.txt +4 -5
index 50680a5..9063e74 100644
@@ -2625,7 +2625,6 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
 			for RCU-preempt, and "s" for RCU-sched, and "N"
 			is the CPU number.  This reduces OS jitter on the
 			offloaded CPUs, which can be useful for HPC and
-
 			real-time workloads.  It can also improve energy
 			efficiency for asymmetric multiprocessors.
 
@@ -2641,8 +2640,8 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
 			periodically wake up to do the polling.
 
 	rcutree.blimit=	[KNL]
-			Set maximum number of finished RCU callbacks to process
-			in one batch.
+			Set maximum number of finished RCU callbacks to
+			process in one batch.
 
 	rcutree.rcu_fanout_leaf= [KNL]
 			Increase the number of CPUs assigned to each
@@ -2661,8 +2660,8 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
 			value is one, and maximum value is HZ.
 
 	rcutree.qhimark= [KNL]
-			Set threshold of queued
-			RCU callbacks over which batch limiting is disabled.
+			Set threshold of queued RCU callbacks beyond which
+			batch limiting is disabled.
 
 	rcutree.qlowmark= [KNL]
 			Set threshold of queued RCU callbacks below which
MAINTAINERS +6 -0
index 1344816..616b951 100644
@@ -7075,6 +7075,12 @@ T:	git git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git
 F:	Documentation/RCU/torture.txt
 F:	kernel/rcu/torture.c
 
+RCUTORTURE TEST FRAMEWORK
+M:	"Paul E. McKenney" <[email protected]>
+S:	Supported
+T:	git git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git
+F:	tools/testing/selftests/rcutorture
+
 RDC R-321X SoC
 M:	Florian Fainelli <[email protected]>
 S:	Maintained
drivers/net/bonding/bond_main.c +1 -1
index 398e299..698077b 100644
@@ -1763,7 +1763,7 @@ static int __bond_release_one(struct net_device *bond_dev,
 	}
 
 	if (all) {
-		rcu_assign_pointer(bond->curr_active_slave, NULL);
+		RCU_INIT_POINTER(bond->curr_active_slave, NULL);
 	} else if (oldcurrent == slave) {
 		/*
 		 * Note that we hold RTNL over this sequence, so there
include/linux/rculist.h +2 -2
index 45a0a9e..dbaf990 100644
@@ -55,8 +55,8 @@ static inline void __list_add_rcu(struct list_head *new,
 	next->prev = new;
 }
 #else
-extern void __list_add_rcu(struct list_head *new,
-		struct list_head *prev, struct list_head *next);
+void __list_add_rcu(struct list_head *new,
+		    struct list_head *prev, struct list_head *next);
 #endif
 
 /**
include/linux/rcupdate.h +83 -70

264 lines not on this page · raw message

include/linux/rcutiny.h +1 -1
index 09ebcbe..6f01771 100644
@@ -125,7 +125,7 @@ static inline void exit_rcu(void)
 
 #ifdef CONFIG_DEBUG_LOCK_ALLOC
 extern int rcu_scheduler_active __read_mostly;
-extern void rcu_scheduler_starting(void);
+void rcu_scheduler_starting(void);
 #else /* #ifdef CONFIG_DEBUG_LOCK_ALLOC */
 static inline void rcu_scheduler_starting(void)
 {
include/linux/rcutree.h +18 -18
index 4b9c815..72137ee 100644
@@ -30,9 +30,9 @@
 #ifndef __LINUX_RCUTREE_H
 #define __LINUX_RCUTREE_H
 
-extern void rcu_note_context_switch(int cpu);
-extern int rcu_needs_cpu(int cpu, unsigned long *delta_jiffies);
-extern void rcu_cpu_stall_reset(void);
+void rcu_note_context_switch(int cpu);
+int rcu_needs_cpu(int cpu, unsigned long *delta_jiffies);
+void rcu_cpu_stall_reset(void);
 
 /*
  * Note a virtualization-based context switch.  This is simply a
@@ -44,9 +44,9 @@ static inline void rcu_virt_note_context_switch(int cpu)
 	rcu_note_context_switch(cpu);
 }
 
-extern void synchronize_rcu_bh(void);
-extern void synchronize_sched_expedited(void);
-extern void synchronize_rcu_expedited(void);
+void synchronize_rcu_bh(void);
+void synchronize_sched_expedited(void);
+void synchronize_rcu_expedited(void);
 
 void kfree_call_rcu(struct rcu_head *head, void (*func)(struct rcu_head *rcu));
 
@@ -71,25 +71,25 @@ static inline void synchronize_rcu_bh_expedited(void)
 	synchronize_sched_expedited();
 }
 
-extern void rcu_barrier(void);
-extern void rcu_barrier_bh(void);
-extern void rcu_barrier_sched(void);
+void rcu_barrier(void);
+void rcu_barrier_bh(void);
+void rcu_barrier_sched(void);
 
 extern unsigned long rcutorture_testseq;
 extern unsigned long rcutorture_vernum;
-extern long rcu_batches_completed(void);
-extern long rcu_batches_completed_bh(void);
-extern long rcu_batches_completed_sched(void);
+long rcu_batches_completed(void);
+long rcu_batches_completed_bh(void);
+long rcu_batches_completed_sched(void);
 
-extern void rcu_force_quiescent_state(void);
-extern void rcu_bh_force_quiescent_state(void);
-extern void rcu_sched_force_quiescent_state(void);
+void rcu_force_quiescent_state(void);
+void rcu_bh_force_quiescent_state(void);
+void rcu_sched_force_quiescent_state(void);
 
-extern void exit_rcu(void);
+void exit_rcu(void);
 
-extern void rcu_scheduler_starting(void);
+void rcu_scheduler_starting(void);
 extern int rcu_scheduler_active __read_mostly;
 
-extern bool rcu_is_watching(void);
+bool rcu_is_watching(void);
 
 #endif /* __LINUX_RCUTREE_H */
kernel/rcu/rcu.h +4 -1
index 7859a0a..79c3877 100644
@@ -96,19 +96,22 @@ static inline void debug_rcu_head_unqueue(struct rcu_head *head)
 }
 #endif	/* #else !CONFIG_DEBUG_OBJECTS_RCU_HEAD */
 
-extern void kfree(const void *);
+void kfree(const void *);
 
 static inline bool __rcu_reclaim(const char *rn, struct rcu_head *head)
 {
 	unsigned long offset = (unsigned long)head->func;
 
+	rcu_lock_acquire(&rcu_callback_map);
 	if (__is_kfree_rcu_offset(offset)) {
 		RCU_TRACE(trace_rcu_invoke_kfree_callback(rn, head, offset));
 		kfree((void *)head - offset);
+		rcu_lock_release(&rcu_callback_map);
 		return 1;
 	} else {
 		RCU_TRACE(trace_rcu_invoke_callback(rn, head));
 		head->func(head);
+		rcu_lock_release(&rcu_callback_map);
 		return 0;
 	}
 }
kernel/rcu/srcu.c +50 -7

81 lines not on this page · raw message

kernel/rcu/torture.c +39 -36

179 lines not on this page · raw message

kernel/rcu/tree.c +65 -14

206 lines not on this page · raw message

kernel/rcu/tree.h +10 -2
index 52be957..8c19873 100644
@@ -317,6 +317,7 @@ struct rcu_data {
 	unsigned long n_rp_cpu_needs_gp;
 	unsigned long n_rp_gp_completed;
 	unsigned long n_rp_gp_started;
+	unsigned long n_rp_nocb_defer_wakeup;
 	unsigned long n_rp_need_nothing;
 
 	/* 6) _rcu_barrier() and OOM callbacks. */
@@ -335,6 +336,7 @@ struct rcu_data {
 	int nocb_p_count_lazy;		/*  (approximate). */
 	wait_queue_head_t nocb_wq;	/* For nocb kthreads to sleep on. */
 	struct task_struct *nocb_kthread;
+	bool nocb_defer_wakeup;		/* Defer wakeup of nocb_kthread. */
 #endif /* #ifdef CONFIG_RCU_NOCB_CPU */
 
 	/* 8) RCU CPU stall data. */
@@ -453,6 +455,8 @@ struct rcu_state {
 						/*  but in jiffies. */
 	unsigned long jiffies_stall;		/* Time at which to check */
 						/*  for CPU stalls. */
+	unsigned long jiffies_resched;		/* Time at which to resched */
+						/*  a reluctant CPU. */
 	unsigned long gp_max;			/* Maximum GP duration in */
 						/*  jiffies. */
 	const char *name;			/* Name of structure. */
@@ -548,9 +552,12 @@ static void rcu_nocb_gp_set(struct rcu_node *rnp, int nrq);
 static void rcu_nocb_gp_cleanup(struct rcu_state *rsp, struct rcu_node *rnp);
 static void rcu_init_one_nocb(struct rcu_node *rnp);
 static bool __call_rcu_nocb(struct rcu_data *rdp, struct rcu_head *rhp,
-			    bool lazy);
+			    bool lazy, unsigned long flags);
 static bool rcu_nocb_adopt_orphan_cbs(struct rcu_state *rsp,
-				      struct rcu_data *rdp);
+				      struct rcu_data *rdp,
+				      unsigned long flags);
+static bool rcu_nocb_need_deferred_wakeup(struct rcu_data *rdp);
+static void do_nocb_deferred_wakeup(struct rcu_data *rdp);
 static void rcu_boot_init_nocb_percpu_data(struct rcu_data *rdp);
 static void rcu_spawn_nocb_kthreads(struct rcu_state *rsp);
 static void rcu_kick_nohz_cpu(int cpu);
@@ -564,6 +571,7 @@ static void rcu_sysidle_report_gp(struct rcu_state *rsp, int isidle,
 				  unsigned long maxj);
 static void rcu_bind_gp_kthread(void);
 static void rcu_sysidle_init_percpu_data(struct rcu_dynticks *rdtp);
+static bool rcu_nohz_full_cpu(struct rcu_state *rsp);
 
 #endif /* #ifndef RCU_TREE_NONCORE */
 
kernel/rcu/tree_plugin.h +76 -13

183 lines not on this page · raw message

kernel/rcu/tree_trace.c +2 -1
index 3596797..4def475 100644
@@ -364,9 +364,10 @@ static void print_one_rcu_pending(struct seq_file *m, struct rcu_data *rdp)
 		   rdp->n_rp_report_qs,
 		   rdp->n_rp_cb_ready,
 		   rdp->n_rp_cpu_needs_gp);
-	seq_printf(m, "gpc=%ld gps=%ld nn=%ld\n",
+	seq_printf(m, "gpc=%ld gps=%ld nn=%ld ndw%ld\n",
 		   rdp->n_rp_gp_completed,
 		   rdp->n_rp_gp_started,
+		   rdp->n_rp_nocb_defer_wakeup,
 		   rdp->n_rp_need_nothing);
 }
 
kernel/rcu/update.c +5 -0
index 6cb3dff..802365c 100644
@@ -128,6 +128,11 @@ struct lockdep_map rcu_sched_lock_map =
 	STATIC_LOCKDEP_MAP_INIT("rcu_read_lock_sched", &rcu_sched_lock_key);
 EXPORT_SYMBOL_GPL(rcu_sched_lock_map);
 
+static struct lock_class_key rcu_callback_key;
+struct lockdep_map rcu_callback_map =
+	STATIC_LOCKDEP_MAP_INIT("rcu_callback", &rcu_callback_key);
+EXPORT_SYMBOL_GPL(rcu_callback_map);
+
 int notrace debug_lockdep_rcu_enabled(void)
 {
 	return rcu_scheduler_active && debug_locks &&
tools/testing/selftests/rcutorture/.gitignore new file +6 -0
new file mode 100644
index 0000000..05838f6
@@ -0,0 +1,6 @@
+initrd
+linux-2.6
+b[0-9]*
+rcu-test-image
+res
+*.swp
tools/testing/selftests/rcutorture/bin/config2frag.sh new file +25 -0
new file mode 100644
index 0000000..9f9ffcd
@@ -0,0 +1,25 @@
+#!/bin/sh
+# Usage: sh config2frag.sh < .config > configfrag
+#
+# Converts the "# CONFIG_XXX is not set" to "CONFIG_XXX=n" so that the
+# resulting file becomes a legitimate Kconfig fragment.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, you can access it online at
+# http://www.gnu.org/licenses/gpl-2.0.html.
+#
+# Copyright (C) IBM Corporation, 2013
+#
+# Authors: Paul E. McKenney <[email protected]>
+
+LANG=C sed -e 's/^# CONFIG_\([a-zA-Z0-9_]*\) is not set$/CONFIG_\1=n/'
tools/testing/selftests/rcutorture/bin/configNR_CPUS.sh new file +45 -0

45 lines not on this page · raw message

tools/testing/selftests/rcutorture/bin/configcheck.sh new file +54 -0

54 lines not on this page · raw message

tools/testing/selftests/rcutorture/bin/configinit.sh new file +74 -0

74 lines not on this page · raw message

tools/testing/selftests/rcutorture/bin/cpus2use.sh new file +41 -0

41 lines not on this page · raw message

tools/testing/selftests/rcutorture/bin/functions.sh new file +198 -0

198 lines not on this page · raw message

tools/testing/selftests/rcutorture/bin/kvm-build.sh new file +71 -0

71 lines not on this page · raw message

tools/testing/selftests/rcutorture/bin/kvm-recheck.sh new file +44 -0

44 lines not on this page · raw message

tools/testing/selftests/rcutorture/bin/kvm-test-1-rcu.sh new file +192 -0

192 lines not on this page · raw message

tools/testing/selftests/rcutorture/bin/kvm.sh new file +210 -0

210 lines not on this page · raw message

tools/testing/selftests/rcutorture/bin/parse-build.sh new file +57 -0

57 lines not on this page · raw message

tools/testing/selftests/rcutorture/bin/parse-console.sh new file +41 -0

41 lines not on this page · raw message

tools/testing/selftests/rcutorture/bin/parse-rcutorture.sh new file +106 -0

106 lines not on this page · raw message

tools/testing/selftests/rcutorture/configs/CFLIST new file +13 -0
new file mode 100644
index 0000000..cd3d29c
@@ -0,0 +1,13 @@
+TREE01
+TREE02
+TREE03
+TREE04
+TREE05
+TREE06
+TREE07
+TREE08
+TREE09
+SRCU-N
+SRCU-P
+TINY01
+TINY02
tools/testing/selftests/rcutorture/configs/SRCU-N new file +8 -0
new file mode 100644
index 0000000..10a0e27
@@ -0,0 +1,8 @@
+CONFIG_RCU_TRACE=n
+CONFIG_SMP=y
+CONFIG_NR_CPUS=8
+CONFIG_HOTPLUG_CPU=y
+CONFIG_PREEMPT_NONE=y
+CONFIG_PREEMPT_VOLUNTARY=n
+CONFIG_PREEMPT=n
+CONFIG_PRINTK_TIME=y
tools/testing/selftests/rcutorture/configs/SRCU-N.boot new file +1 -0
new file mode 100644
index 0000000..238bfe3
@@ -0,0 +1 @@
+rcutorture.torture_type=srcu
tools/testing/selftests/rcutorture/configs/SRCU-P new file +8 -0
new file mode 100644
index 0000000..6650e00
@@ -0,0 +1,8 @@
+CONFIG_RCU_TRACE=n
+CONFIG_SMP=y
+CONFIG_NR_CPUS=8
+CONFIG_HOTPLUG_CPU=y
+CONFIG_PREEMPT_NONE=n
+CONFIG_PREEMPT_VOLUNTARY=n
+CONFIG_PREEMPT=y
+CONFIG_PRINTK_TIME=y
tools/testing/selftests/rcutorture/configs/SRCU-P.boot new file +1 -0
new file mode 100644
index 0000000..238bfe3
@@ -0,0 +1 @@
+rcutorture.torture_type=srcu
tools/testing/selftests/rcutorture/configs/TINY01 new file +13 -0
new file mode 100644
index 0000000..0c2823f
@@ -0,0 +1,13 @@
+CONFIG_SMP=n
+CONFIG_PREEMPT_NONE=y
+CONFIG_PREEMPT_VOLUNTARY=n
+CONFIG_PREEMPT=n
+#CHECK#CONFIG_TINY_RCU=y
+CONFIG_HZ_PERIODIC=n
+CONFIG_NO_HZ_IDLE=y
+CONFIG_NO_HZ_FULL=n
+CONFIG_RCU_TRACE=n
+CONFIG_DEBUG_LOCK_ALLOC=n
+CONFIG_DEBUG_OBJECTS_RCU_HEAD=n
+CONFIG_PREEMPT_COUNT=n
+CONFIG_PRINTK_TIME=y
tools/testing/selftests/rcutorture/configs/TINY02 new file +13 -0
new file mode 100644
index 0000000..e5072d7
@@ -0,0 +1,13 @@
+CONFIG_SMP=n
+CONFIG_PREEMPT_NONE=y
+CONFIG_PREEMPT_VOLUNTARY=n
+CONFIG_PREEMPT=n
+#CHECK#CONFIG_TINY_RCU=y
+CONFIG_HZ_PERIODIC=y
+CONFIG_NO_HZ_IDLE=n
+CONFIG_NO_HZ_FULL=n
+CONFIG_RCU_TRACE=y
+CONFIG_DEBUG_LOCK_ALLOC=y
+CONFIG_DEBUG_OBJECTS_RCU_HEAD=n
+CONFIG_PREEMPT_COUNT=y
+CONFIG_PRINTK_TIME=y
tools/testing/selftests/rcutorture/configs/TREE01 new file +23 -0
new file mode 100644
index 0000000..141119a
@@ -0,0 +1,23 @@
+CONFIG_SMP=y
+CONFIG_NR_CPUS=8
+CONFIG_PREEMPT_NONE=n
+CONFIG_PREEMPT_VOLUNTARY=n
+CONFIG_PREEMPT=y
+#CHECK#CONFIG_TREE_PREEMPT_RCU=y
+CONFIG_HZ_PERIODIC=n
+CONFIG_NO_HZ_IDLE=y
+CONFIG_NO_HZ_FULL=n
+CONFIG_RCU_FAST_NO_HZ=y
+CONFIG_RCU_TRACE=y
+CONFIG_HOTPLUG_CPU=y
+CONFIG_RCU_FANOUT=8
+CONFIG_RCU_FANOUT_EXACT=n
+CONFIG_RCU_NOCB_CPU=y
+CONFIG_RCU_NOCB_CPU_ZERO=y
+CONFIG_DEBUG_LOCK_ALLOC=n
+CONFIG_PROVE_RCU_DELAY=n
+CONFIG_RCU_CPU_STALL_INFO=n
+CONFIG_RCU_CPU_STALL_VERBOSE=n
+CONFIG_RCU_BOOST=n
+CONFIG_DEBUG_OBJECTS_RCU_HEAD=n
+CONFIG_PRINTK_TIME=y
tools/testing/selftests/rcutorture/configs/TREE01.boot new file +1 -0
new file mode 100644
index 0000000..0fc8a34
@@ -0,0 +1 @@
+rcutorture.torture_type=rcu_bh
tools/testing/selftests/rcutorture/configs/TREE02 new file +26 -0
new file mode 100644
index 0000000..2d4d096
@@ -0,0 +1,26 @@
+CONFIG_SMP=y
+CONFIG_NR_CPUS=8
+CONFIG_PREEMPT_NONE=n
+CONFIG_PREEMPT_VOLUNTARY=n
+CONFIG_PREEMPT=y
+#CHECK#CONFIG_TREE_PREEMPT_RCU=y
+CONFIG_HZ_PERIODIC=n
+CONFIG_NO_HZ_IDLE=y
+CONFIG_NO_HZ_FULL=n
+CONFIG_RCU_FAST_NO_HZ=n 
+CONFIG_RCU_TRACE=n
+CONFIG_HOTPLUG_CPU=n
+CONFIG_SUSPEND=n
+CONFIG_HIBERNATION=n
+CONFIG_RCU_FANOUT=3
+CONFIG_RCU_FANOUT_LEAF=3
+CONFIG_RCU_FANOUT_EXACT=n
+CONFIG_RCU_NOCB_CPU=n
+CONFIG_DEBUG_LOCK_ALLOC=y
+CONFIG_PROVE_LOCKING=n
+CONFIG_PROVE_RCU_DELAY=n
+CONFIG_RCU_CPU_STALL_INFO=n
+CONFIG_RCU_CPU_STALL_VERBOSE=y
+CONFIG_RCU_BOOST=n
+CONFIG_DEBUG_OBJECTS_RCU_HEAD=n
+CONFIG_PRINTK_TIME=y
tools/testing/selftests/rcutorture/configs/TREE03 new file +23 -0
new file mode 100644
index 0000000..a47de5b
@@ -0,0 +1,23 @@
+CONFIG_SMP=y
+CONFIG_NR_CPUS=8
+CONFIG_PREEMPT_NONE=n
+CONFIG_PREEMPT_VOLUNTARY=n
+CONFIG_PREEMPT=y
+#CHECK#CONFIG_TREE_PREEMPT_RCU=y
+CONFIG_HZ_PERIODIC=y
+CONFIG_NO_HZ_IDLE=n
+CONFIG_NO_HZ_FULL=n
+CONFIG_RCU_TRACE=y
+CONFIG_HOTPLUG_CPU=y
+CONFIG_RCU_FANOUT=4
+CONFIG_RCU_FANOUT_LEAF=4
+CONFIG_RCU_FANOUT_EXACT=n
+CONFIG_RCU_NOCB_CPU=n
+CONFIG_DEBUG_LOCK_ALLOC=n
+CONFIG_PROVE_RCU_DELAY=n
+CONFIG_RCU_CPU_STALL_INFO=n
+CONFIG_RCU_CPU_STALL_VERBOSE=n
+CONFIG_RCU_BOOST=y
+CONFIG_RCU_BOOST_PRIO=2
+CONFIG_DEBUG_OBJECTS_RCU_HEAD=n
+CONFIG_PRINTK_TIME=y
tools/testing/selftests/rcutorture/configs/TREE04 new file +25 -0
new file mode 100644
index 0000000..8d839b8
@@ -0,0 +1,25 @@
+CONFIG_SMP=y
+CONFIG_NR_CPUS=8
+CONFIG_PREEMPT_NONE=y
+CONFIG_PREEMPT_VOLUNTARY=n
+CONFIG_PREEMPT=n
+#CHECK#CONFIG_TREE_RCU=y
+CONFIG_HZ_PERIODIC=n
+CONFIG_NO_HZ_IDLE=n
+CONFIG_NO_HZ_FULL=y
+CONFIG_NO_HZ_FULL_ALL=y
+CONFIG_RCU_FAST_NO_HZ=y
+CONFIG_RCU_TRACE=y
+CONFIG_HOTPLUG_CPU=n
+CONFIG_SUSPEND=n
+CONFIG_HIBERNATION=n
+CONFIG_RCU_FANOUT=2
+CONFIG_RCU_FANOUT_LEAF=2
+CONFIG_RCU_FANOUT_EXACT=n
+CONFIG_RCU_NOCB_CPU=n
+CONFIG_DEBUG_LOCK_ALLOC=n
+CONFIG_PROVE_RCU_DELAY=n
+CONFIG_RCU_CPU_STALL_INFO=y
+CONFIG_RCU_CPU_STALL_VERBOSE=y
+CONFIG_DEBUG_OBJECTS_RCU_HEAD=n
+CONFIG_PRINTK_TIME=y
tools/testing/selftests/rcutorture/configs/TREE04.boot new file +1 -0
new file mode 100644
index 0000000..0fc8a34
@@ -0,0 +1 @@
+rcutorture.torture_type=rcu_bh
tools/testing/selftests/rcutorture/configs/TREE05 new file +25 -0
new file mode 100644
index 0000000..b5ba72e
@@ -0,0 +1,25 @@
+CONFIG_SMP=y
+CONFIG_NR_CPUS=8
+CONFIG_PREEMPT_NONE=y
+CONFIG_PREEMPT_VOLUNTARY=n
+CONFIG_PREEMPT=n
+#CHECK#CONFIG_TREE_RCU=y
+CONFIG_HZ_PERIODIC=n
+CONFIG_NO_HZ_IDLE=y
+CONFIG_NO_HZ_FULL=n
+CONFIG_RCU_FAST_NO_HZ=n
+CONFIG_RCU_TRACE=n
+CONFIG_HOTPLUG_CPU=y
+CONFIG_RCU_FANOUT=6
+CONFIG_RCU_FANOUT_LEAF=6
+CONFIG_RCU_FANOUT_EXACT=n
+CONFIG_RCU_NOCB_CPU=y
+CONFIG_RCU_NOCB_CPU_NONE=y
+CONFIG_DEBUG_LOCK_ALLOC=y
+CONFIG_PROVE_LOCKING=y
+CONFIG_PROVE_RCU=y
+CONFIG_PROVE_RCU_DELAY=y
+CONFIG_RCU_CPU_STALL_INFO=n
+CONFIG_RCU_CPU_STALL_VERBOSE=n
+CONFIG_DEBUG_OBJECTS_RCU_HEAD=n
+CONFIG_PRINTK_TIME=y
tools/testing/selftests/rcutorture/configs/TREE05.boot new file +1 -0
new file mode 100644
index 0000000..3b42b8b
@@ -0,0 +1 @@
+rcutorture.torture_type=sched
tools/testing/selftests/rcutorture/configs/TREE06 new file +26 -0
new file mode 100644
index 0000000..7c95ab4
@@ -0,0 +1,26 @@
+CONFIG_SMP=y
+CONFIG_NR_CPUS=8
+CONFIG_PREEMPT_NONE=y
+CONFIG_PREEMPT_VOLUNTARY=n
+CONFIG_PREEMPT=n
+#CHECK#CONFIG_TREE_RCU=y
+CONFIG_HZ_PERIODIC=n
+CONFIG_NO_HZ_IDLE=y
+CONFIG_NO_HZ_FULL=n
+CONFIG_RCU_FAST_NO_HZ=n
+CONFIG_RCU_TRACE=n
+CONFIG_HOTPLUG_CPU=n
+CONFIG_SUSPEND=n
+CONFIG_HIBERNATION=n
+CONFIG_RCU_FANOUT=6
+CONFIG_RCU_FANOUT_LEAF=6
+CONFIG_RCU_FANOUT_EXACT=y
+CONFIG_RCU_NOCB_CPU=n
+CONFIG_DEBUG_LOCK_ALLOC=y
+CONFIG_PROVE_LOCKING=y
+CONFIG_PROVE_RCU=y
+CONFIG_PROVE_RCU_DELAY=n
+CONFIG_RCU_CPU_STALL_INFO=n
+CONFIG_RCU_CPU_STALL_VERBOSE=n
+CONFIG_DEBUG_OBJECTS_RCU_HEAD=y
+CONFIG_PRINTK_TIME=y
tools/testing/selftests/rcutorture/configs/TREE07 new file +24 -0
new file mode 100644
index 0000000..1467404
@@ -0,0 +1,24 @@
+CONFIG_SMP=y
+CONFIG_NR_CPUS=16
+CONFIG_PREEMPT_NONE=y
+CONFIG_PREEMPT_VOLUNTARY=n
+CONFIG_PREEMPT=n
+#CHECK#CONFIG_TREE_RCU=y
+CONFIG_HZ_PERIODIC=n
+CONFIG_NO_HZ_IDLE=n
+CONFIG_NO_HZ_FULL=y
+CONFIG_NO_HZ_FULL_ALL=y
+CONFIG_NO_HZ_FULL_SYSIDLE=y
+CONFIG_RCU_FAST_NO_HZ=n
+CONFIG_RCU_TRACE=y
+CONFIG_HOTPLUG_CPU=y
+CONFIG_RCU_FANOUT=2
+CONFIG_RCU_FANOUT_LEAF=2
+CONFIG_RCU_FANOUT_EXACT=n
+CONFIG_RCU_NOCB_CPU=n
+CONFIG_DEBUG_LOCK_ALLOC=n
+CONFIG_PROVE_RCU_DELAY=n
+CONFIG_RCU_CPU_STALL_INFO=y
+CONFIG_RCU_CPU_STALL_VERBOSE=n
+CONFIG_DEBUG_OBJECTS_RCU_HEAD=n
+CONFIG_PRINTK_TIME=y
tools/testing/selftests/rcutorture/configs/TREE08 new file +26 -0
new file mode 100644
index 0000000..7d097a6
@@ -0,0 +1,26 @@
+CONFIG_SMP=y
+CONFIG_NR_CPUS=16
+CONFIG_PREEMPT_NONE=n
+CONFIG_PREEMPT_VOLUNTARY=n
+CONFIG_PREEMPT=y
+#CHECK#CONFIG_TREE_PREEMPT_RCU=y
+CONFIG_HZ_PERIODIC=n
+CONFIG_NO_HZ_IDLE=y
+CONFIG_NO_HZ_FULL=n
+CONFIG_RCU_FAST_NO_HZ=n
+CONFIG_RCU_TRACE=n
+CONFIG_HOTPLUG_CPU=n
+CONFIG_SUSPEND=n
+CONFIG_HIBERNATION=n
+CONFIG_RCU_FANOUT=3
+CONFIG_RCU_FANOUT_EXACT=y
+CONFIG_RCU_FANOUT_LEAF=2
+CONFIG_RCU_NOCB_CPU=y
+CONFIG_RCU_NOCB_CPU_ALL=y
+CONFIG_DEBUG_LOCK_ALLOC=n
+CONFIG_PROVE_RCU_DELAY=n
+CONFIG_RCU_CPU_STALL_INFO=n
+CONFIG_RCU_CPU_STALL_VERBOSE=n
+CONFIG_RCU_BOOST=n
+CONFIG_DEBUG_OBJECTS_RCU_HEAD=n
+CONFIG_PRINTK_TIME=y
tools/testing/selftests/rcutorture/configs/TREE08-T new file +26 -0
new file mode 100644
index 0000000..442c4e4
@@ -0,0 +1,26 @@
+CONFIG_SMP=y
+CONFIG_NR_CPUS=16
+CONFIG_PREEMPT_NONE=n
+CONFIG_PREEMPT_VOLUNTARY=n
+CONFIG_PREEMPT=y
+#CHECK#CONFIG_TREE_PREEMPT_RCU=y
+CONFIG_HZ_PERIODIC=n
+CONFIG_NO_HZ_IDLE=y
+CONFIG_NO_HZ_FULL=n
+CONFIG_RCU_FAST_NO_HZ=n
+CONFIG_RCU_TRACE=y
+CONFIG_HOTPLUG_CPU=n
+CONFIG_SUSPEND=n
+CONFIG_HIBERNATION=n
+CONFIG_RCU_FANOUT=3
+CONFIG_RCU_FANOUT_EXACT=y
+CONFIG_RCU_FANOUT_LEAF=2
+CONFIG_RCU_NOCB_CPU=y
+CONFIG_RCU_NOCB_CPU_ALL=y
+CONFIG_DEBUG_LOCK_ALLOC=n
+CONFIG_PROVE_RCU_DELAY=n
+CONFIG_RCU_CPU_STALL_INFO=n
+CONFIG_RCU_CPU_STALL_VERBOSE=n
+CONFIG_RCU_BOOST=n
+CONFIG_DEBUG_OBJECTS_RCU_HEAD=n
+CONFIG_PRINTK_TIME=y
tools/testing/selftests/rcutorture/configs/TREE09 new file +21 -0
new file mode 100644
index 0000000..0d1ec0d
@@ -0,0 +1,21 @@
+CONFIG_SMP=n
+CONFIG_NR_CPUS=1
+CONFIG_PREEMPT_NONE=n
+CONFIG_PREEMPT_VOLUNTARY=n
+CONFIG_PREEMPT=y
+#CHECK#CONFIG_TREE_PREEMPT_RCU=y
+CONFIG_HZ_PERIODIC=n
+CONFIG_NO_HZ_IDLE=y
+CONFIG_NO_HZ_FULL=n
+CONFIG_RCU_TRACE=n
+CONFIG_HOTPLUG_CPU=n
+CONFIG_SUSPEND=n
+CONFIG_HIBERNATION=n
+CONFIG_RCU_NOCB_CPU=n
+CONFIG_DEBUG_LOCK_ALLOC=n
+CONFIG_PROVE_RCU_DELAY=n
+CONFIG_RCU_CPU_STALL_INFO=n
+CONFIG_RCU_CPU_STALL_VERBOSE=n
+CONFIG_RCU_BOOST=n
+CONFIG_DEBUG_OBJECTS_RCU_HEAD=n
+CONFIG_PRINTK_TIME=y
tools/testing/selftests/rcutorture/configs/v0.0/CFLIST new file +14 -0
new file mode 100644
index 0000000..1822394
@@ -0,0 +1,14 @@
+P1-S-T-NH-SD-SMP-HP
+P2-2-t-nh-sd-SMP-hp
+P3-3-T-nh-SD-SMP-hp
+P4-A-t-NH-sd-SMP-HP
+P5-U-T-NH-sd-SMP-hp
+N1-S-T-NH-SD-SMP-HP
+N2-2-t-nh-sd-SMP-hp
+N3-3-T-nh-SD-SMP-hp
+N4-A-t-NH-sd-SMP-HP
+N5-U-T-NH-sd-SMP-hp
+PT1-nh
+PT2-NH
+NT1-nh
+NT3-NH
tools/testing/selftests/rcutorture/configs/v0.0/N1-S-T-NH-SD-SMP-HP new file +18 -0
new file mode 100644
index 0000000..d3ef873
@@ -0,0 +1,18 @@
+CONFIG_RCU_TRACE=y
+CONFIG_NO_HZ=y
+CONFIG_SMP=y
+CONFIG_RCU_FANOUT=8
+CONFIG_NR_CPUS=8
+CONFIG_RCU_FANOUT_EXACT=n
+CONFIG_HOTPLUG_CPU=y
+CONFIG_PREEMPT_NONE=y
+CONFIG_PREEMPT_VOLUNTARY=n
+CONFIG_PREEMPT=n
+#CHECK#CONFIG_TREE_RCU=y
+CONFIG_RCU_TORTURE_TEST=m
+CONFIG_MODULE_UNLOAD=y
+CONFIG_SYSFS_DEPRECATED_V2=y
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+CONFIG_PRINTK_TIME=y
+
tools/testing/selftests/rcutorture/configs/v0.0/N2-2-t-nh-sd-SMP-hp new file +20 -0
new file mode 100644
index 0000000..02e4185
@@ -0,0 +1,20 @@
+CONFIG_RCU_TRACE=n
+CONFIG_NO_HZ=n
+CONFIG_SMP=y
+CONFIG_RCU_FANOUT=4
+CONFIG_NR_CPUS=8
+CONFIG_RCU_FANOUT_EXACT=n
+CONFIG_HOTPLUG_CPU=n
+CONFIG_SUSPEND=n
+CONFIG_HIBERNATION=n
+CONFIG_PREEMPT_NONE=y
+CONFIG_PREEMPT_VOLUNTARY=n
+CONFIG_PREEMPT=n
+#CHECK#CONFIG_TREE_RCU=y
+CONFIG_RCU_TORTURE_TEST=m
+CONFIG_MODULE_UNLOAD=y
+CONFIG_SYSFS_DEPRECATED_V2=y
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+CONFIG_PRINTK_TIME=y
+
tools/testing/selftests/rcutorture/configs/v0.0/N3-3-T-nh-SD-SMP-hp new file +22 -0
new file mode 100644
index 0000000..b3100f6
@@ -0,0 +1,22 @@
+CONFIG_RCU_TRACE=y
+CONFIG_NO_HZ=n
+CONFIG_SMP=y
+CONFIG_RCU_FANOUT=2
+CONFIG_NR_CPUS=8
+CONFIG_RCU_FANOUT_EXACT=n
+CONFIG_HOTPLUG_CPU=n
+CONFIG_SUSPEND=n
+CONFIG_HIBERNATION=n
+CONFIG_PREEMPT_NONE=y
+CONFIG_PREEMPT_VOLUNTARY=n
+CONFIG_PREEMPT=n
+#CHECK#CONFIG_TREE_RCU=y
+CONFIG_RCU_TORTURE_TEST=m
+CONFIG_MODULE_UNLOAD=y
+CONFIG_PROVE_LOCKING=y
+CONFIG_PROVE_RCU=y
+CONFIG_SYSFS_DEPRECATED_V2=y
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+CONFIG_PRINTK_TIME=y
+
tools/testing/selftests/rcutorture/configs/v0.0/N4-A-t-NH-sd-SMP-HP new file +18 -0
new file mode 100644
index 0000000..c56b445
@@ -0,0 +1,18 @@
+CONFIG_RCU_TRACE=n
+CONFIG_NO_HZ=y
+CONFIG_SMP=y
+CONFIG_RCU_FANOUT=6
+CONFIG_NR_CPUS=8
+CONFIG_RCU_FANOUT_EXACT=n
+CONFIG_HOTPLUG_CPU=y
+CONFIG_PREEMPT_NONE=y
+CONFIG_PREEMPT_VOLUNTARY=n
+CONFIG_PREEMPT=n
+#CHECK#CONFIG_TREE_RCU=y
+CONFIG_RCU_TORTURE_TEST=m
+CONFIG_MODULE_UNLOAD=y
+CONFIG_SYSFS_DEPRECATED_V2=y
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+CONFIG_PRINTK_TIME=y
+
tools/testing/selftests/rcutorture/configs/v0.0/N5-U-T-NH-sd-SMP-hp new file +22 -0
new file mode 100644
index 0000000..90d924f
@@ -0,0 +1,22 @@
+CONFIG_RCU_TRACE=y
+CONFIG_DEBUG_KERNEL=y
+CONFIG_RCU_CPU_STALL_INFO=y
+CONFIG_NO_HZ=y
+CONFIG_SMP=y
+CONFIG_RCU_FANOUT=6
+CONFIG_NR_CPUS=8
+CONFIG_RCU_FANOUT_EXACT=y
+CONFIG_HOTPLUG_CPU=n
+CONFIG_SUSPEND=n
+CONFIG_HIBERNATION=n
+CONFIG_PREEMPT_NONE=y
+CONFIG_PREEMPT_VOLUNTARY=n
+CONFIG_PREEMPT=n
+#CHECK#CONFIG_TREE_RCU=y
+CONFIG_RCU_TORTURE_TEST=m
+CONFIG_MODULE_UNLOAD=y
+CONFIG_SYSFS_DEPRECATED_V2=y
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+CONFIG_PRINTK_TIME=y
+
tools/testing/selftests/rcutorture/configs/v0.0/NT1-nh new file +23 -0
new file mode 100644
index 0000000..023f312
@@ -0,0 +1,23 @@
+#CHECK#CONFIG_TINY_RCU=y
+CONFIG_RCU_TRACE=y
+CONFIG_RCU_TORTURE_TEST=m
+CONFIG_MODULE_UNLOAD=y
+CONFIG_SUSPEND=n
+CONFIG_HIBERNATION=n
+#
+CONFIG_SMP=n
+#
+CONFIG_HOTPLUG_CPU=n
+#
+CONFIG_NO_HZ=n
+#
+CONFIG_PREEMPT_NONE=y
+CONFIG_PREEMPT_VOLUNTARY=n
+CONFIG_PREEMPT=n
+CONFIG_PROVE_LOCKING=y
+CONFIG_PROVE_RCU=y
+CONFIG_SYSFS_DEPRECATED_V2=y
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+CONFIG_PRINTK_TIME=y
+
tools/testing/selftests/rcutorture/configs/v0.0/NT3-NH new file +20 -0
new file mode 100644
index 0000000..6fd0235
@@ -0,0 +1,20 @@
+#CHECK#CONFIG_TINY_RCU=y
+CONFIG_RCU_TORTURE_TEST=m
+CONFIG_MODULE_UNLOAD=y
+CONFIG_SUSPEND=n
+CONFIG_HIBERNATION=n
+#
+CONFIG_SMP=n
+#
+CONFIG_HOTPLUG_CPU=n
+#
+CONFIG_NO_HZ=y
+#
+CONFIG_PREEMPT_NONE=y
+CONFIG_PREEMPT_VOLUNTARY=n
+CONFIG_PREEMPT=n
+CONFIG_SYSFS_DEPRECATED_V2=y
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+CONFIG_PRINTK_TIME=y
+
tools/testing/selftests/rcutorture/configs/v0.0/P1-S-T-NH-SD-SMP-HP new file +19 -0
new file mode 100644
index 0000000..f72402d
@@ -0,0 +1,19 @@
+CONFIG_RCU_TRACE=y
+CONFIG_RCU_CPU_STALL_INFO=y
+CONFIG_NO_HZ=y
+CONFIG_SMP=y
+CONFIG_RCU_FANOUT=8
+CONFIG_NR_CPUS=8
+CONFIG_RCU_FANOUT_EXACT=n
+CONFIG_HOTPLUG_CPU=y
+CONFIG_PREEMPT_NONE=n
+CONFIG_PREEMPT_VOLUNTARY=n
+CONFIG_PREEMPT=y
+#CHECK#CONFIG_TREE_PREEMPT_RCU=y
+CONFIG_RCU_TORTURE_TEST=m
+CONFIG_MODULE_UNLOAD=y
+CONFIG_SYSFS_DEPRECATED_V2=y
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+CONFIG_PRINTK_TIME=y
+
tools/testing/selftests/rcutorture/configs/v0.0/P2-2-t-nh-sd-SMP-hp new file +20 -0
new file mode 100644
index 0000000..0f3b667
@@ -0,0 +1,20 @@
+CONFIG_RCU_TRACE=n
+CONFIG_NO_HZ=n
+CONFIG_SMP=y
+CONFIG_RCU_FANOUT=4
+CONFIG_NR_CPUS=8
+CONFIG_RCU_FANOUT_EXACT=n
+CONFIG_HOTPLUG_CPU=n
+CONFIG_SUSPEND=n
+CONFIG_HIBERNATION=n
+CONFIG_PREEMPT_NONE=n
+CONFIG_PREEMPT_VOLUNTARY=n
+CONFIG_PREEMPT=y
+#CHECK#CONFIG_TREE_PREEMPT_RCU=y
+CONFIG_RCU_TORTURE_TEST=m
+CONFIG_MODULE_UNLOAD=y
+CONFIG_SYSFS_DEPRECATED_V2=y
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+CONFIG_PRINTK_TIME=y
+
tools/testing/selftests/rcutorture/configs/v0.0/P3-3-T-nh-SD-SMP-hp new file +20 -0
new file mode 100644
index 0000000..b035e14
@@ -0,0 +1,20 @@
+CONFIG_RCU_TRACE=y
+CONFIG_NO_HZ=n
+CONFIG_SMP=y
+CONFIG_RCU_FANOUT=2
+CONFIG_NR_CPUS=8
+CONFIG_RCU_FANOUT_EXACT=n
+CONFIG_HOTPLUG_CPU=n
+CONFIG_SUSPEND=n
+CONFIG_HIBERNATION=n
+CONFIG_PREEMPT_NONE=n
+CONFIG_PREEMPT_VOLUNTARY=n
+CONFIG_PREEMPT=y
+#CHECK#CONFIG_TREE_PREEMPT_RCU=y
+CONFIG_RCU_TORTURE_TEST=m
+CONFIG_MODULE_UNLOAD=y
+CONFIG_SYSFS_DEPRECATED_V2=y
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+CONFIG_PRINTK_TIME=y
+
tools/testing/selftests/rcutorture/configs/v0.0/P4-A-t-NH-sd-SMP-HP new file +22 -0
new file mode 100644
index 0000000..3ccf6a9
@@ -0,0 +1,22 @@
+CONFIG_RCU_TRACE=n
+CONFIG_NO_HZ=y
+CONFIG_SMP=y
+CONFIG_RCU_FANOUT=6
+CONFIG_NR_CPUS=8
+CONFIG_RCU_FANOUT_EXACT=n
+CONFIG_HOTPLUG_CPU=y
+CONFIG_PREEMPT_NONE=n
+CONFIG_PREEMPT_VOLUNTARY=n
+CONFIG_PREEMPT=y
+#CHECK#CONFIG_TREE_PREEMPT_RCU=y
+CONFIG_RCU_TORTURE_TEST=m
+CONFIG_MODULE_UNLOAD=y
+CONFIG_RT_MUTEXES=y
+CONFIG_RCU_BOOST=y
+CONFIG_RCU_BOOST_PRIO=2
+CONFIG_PROVE_LOCKING=y
+CONFIG_PROVE_RCU=y
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+CONFIG_PRINTK_TIME=y
+
tools/testing/selftests/rcutorture/configs/v0.0/P5-U-T-NH-sd-SMP-hp new file +28 -0
new file mode 100644
index 0000000..ef624ce
@@ -0,0 +1,28 @@
+CONFIG_RCU_TRACE=y
+CONFIG_RCU_CPU_STALL_INFO=y
+CONFIG_NO_HZ=y
+CONFIG_SMP=y
+CONFIG_RCU_FANOUT=6
+CONFIG_NR_CPUS=8
+CONFIG_RCU_FANOUT_EXACT=y
+CONFIG_HOTPLUG_CPU=n
+CONFIG_SUSPEND=n
+CONFIG_HIBERNATION=n
+CONFIG_PREEMPT_NONE=n
+CONFIG_PREEMPT_VOLUNTARY=n
+CONFIG_PREEMPT=y
+#CHECK#CONFIG_TREE_PREEMPT_RCU=y
+CONFIG_DEBUG_KERNEL=y
+CONFIG_PROVE_RCU_DELAY=y
+CONFIG_DEBUG_OBJECTS=y
+CONFIG_DEBUG_OBJECTS_RCU_HEAD=y
+CONFIG_RT_MUTEXES=y
+CONFIG_RCU_BOOST=y
+CONFIG_RCU_BOOST_PRIO=2
+CONFIG_RCU_TORTURE_TEST=m
+CONFIG_MODULE_UNLOAD=y
+CONFIG_SYSFS_DEPRECATED_V2=y
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+CONFIG_PRINTK_TIME=y
+
tools/testing/selftests/rcutorture/configs/v0.0/PT1-nh new file +23 -0
new file mode 100644
index 0000000..e3361c3
@@ -0,0 +1,23 @@
+CONFIG_TINY_PREEMPT_RCU=y
+CONFIG_RCU_BOOST=y
+CONFIG_RCU_BOOST_PRIO=2
+CONFIG_RCU_TRACE=y
+CONFIG_RCU_TORTURE_TEST=m
+CONFIG_MODULE_UNLOAD=y
+CONFIG_SUSPEND=n
+CONFIG_HIBERNATION=n
+#
+CONFIG_SMP=n
+#
+CONFIG_HOTPLUG_CPU=n
+#
+CONFIG_NO_HZ=n
[… more lines in the raw message]

Lines of this file are not shown. View the raw message.

tools/testing/selftests/rcutorture/configs/v0.0/PT2-NH new file +22 -0
new file mode 100644
index 0000000..64abfc3

Lines of this file are not shown. View the raw message.

tools/testing/selftests/rcutorture/configs/v0.0/ver_functions.sh new file +35 -0
new file mode 100644
index 0000000..e805253

Lines of this file are not shown. View the raw message.

tools/testing/selftests/rcutorture/configs/v3.12/CFLIST new file +17 -0
new file mode 100644
index 0000000..da4cbc66

Lines of this file are not shown. View the raw message.

tools/testing/selftests/rcutorture/configs/v3.12/N1-S-T-NH-SD-SMP-HP new file +19 -0
new file mode 100644
index 0000000..d81e11d

Lines of this file are not shown. View the raw message.

tools/testing/selftests/rcutorture/configs/v3.12/N2-2-t-nh-sd-SMP-hp new file +20 -0
new file mode 100644
index 0000000..02e4185

Lines of this file are not shown. View the raw message.

tools/testing/selftests/rcutorture/configs/v3.12/N3-3-T-nh-SD-SMP-hp new file +22 -0
new file mode 100644
index 0000000..b3100f6

Lines of this file are not shown. View the raw message.

tools/testing/selftests/rcutorture/configs/v3.12/N4-A-t-NH-sd-SMP-HP new file +18 -0
new file mode 100644
index 0000000..c56b445

Lines of this file are not shown. View the raw message.

tools/testing/selftests/rcutorture/configs/v3.12/N5-U-T-NH-sd-SMP-hp new file +22 -0
new file mode 100644
index 0000000..90d924f

Lines of this file are not shown. View the raw message.

tools/testing/selftests/rcutorture/configs/v3.12/N6---t-nh-SD-smp-hp new file +19 -0
new file mode 100644
index 0000000..0ccc36d

Lines of this file are not shown. View the raw message.

tools/testing/selftests/rcutorture/configs/v3.12/N7-4-T-NH-SD-SMP-HP new file +26 -0
new file mode 100644
index 0000000..3f640cf

Lines of this file are not shown. View the raw message.

tools/testing/selftests/rcutorture/configs/v3.12/N8-2-T-NH-SD-SMP-HP new file +22 -0
new file mode 100644
index 0000000..285da2d

Lines of this file are not shown. View the raw message.

tools/testing/selftests/rcutorture/configs/v3.12/NT1-nh new file +23 -0
new file mode 100644
index 0000000..023f312

Lines of this file are not shown. View the raw message.

tools/testing/selftests/rcutorture/configs/v3.12/NT3-NH new file +20 -0
new file mode 100644
index 0000000..6fd0235

Lines of this file are not shown. View the raw message.

tools/testing/selftests/rcutorture/configs/v3.12/P1-S-T-NH-SD-SMP-HP new file +20 -0
new file mode 100644
index 0000000..9647c44

Lines of this file are not shown. View the raw message.

tools/testing/selftests/rcutorture/configs/v3.12/P2-2-t-nh-sd-SMP-hp new file +20 -0
new file mode 100644
index 0000000..0f3b667

Lines of this file are not shown. View the raw message.

tools/testing/selftests/rcutorture/configs/v3.12/P3-3-T-nh-SD-SMP-hp new file +20 -0
new file mode 100644
index 0000000..b035e14

Lines of this file are not shown. View the raw message.

tools/testing/selftests/rcutorture/configs/v3.12/P4-A-t-NH-sd-SMP-HP new file +22 -0
new file mode 100644
index 0000000..3ccf6a9

Lines of this file are not shown. View the raw message.

tools/testing/selftests/rcutorture/configs/v3.12/P5-U-T-NH-sd-SMP-hp new file +28 -0
new file mode 100644
index 0000000..ef624ce

Lines of this file are not shown. View the raw message.

tools/testing/selftests/rcutorture/configs/v3.12/P6---t-nh-SD-smp-hp new file +18 -0
new file mode 100644
index 0000000..f4c9175

Lines of this file are not shown. View the raw message.

tools/testing/selftests/rcutorture/configs/v3.12/P7-4-T-NH-SD-SMP-HP new file +30 -0
new file mode 100644
index 0000000..77a8c5b

Lines of this file are not shown. View the raw message.

tools/testing/selftests/rcutorture/configs/v3.12/P7-4-T-NH-SD-SMP-HP-all new file +30 -0
new file mode 100644
index 0000000..0eecebc

Lines of this file are not shown. View the raw message.

tools/testing/selftests/rcutorture/configs/v3.12/P7-4-T-NH-SD-SMP-HP-none new file +30 -0
new file mode 100644
index 0000000..0eecebc

Lines of this file are not shown. View the raw message.

tools/testing/selftests/rcutorture/configs/v3.12/P7-4-T-NH-SD-SMP-hp new file +30 -0
new file mode 100644
index 0000000..588bc70

Lines of this file are not shown. View the raw message.

tools/testing/selftests/rcutorture/configs/v3.12/PT1-nh new file +23 -0
new file mode 100644
index 0000000..e3361c3

Lines of this file are not shown. View the raw message.

tools/testing/selftests/rcutorture/configs/v3.12/PT2-NH new file +22 -0
new file mode 100644
index 0000000..64abfc3

Lines of this file are not shown. View the raw message.

tools/testing/selftests/rcutorture/configs/v3.3/CFLIST new file +14 -0
new file mode 100644
index 0000000..1822394

Lines of this file are not shown. View the raw message.

tools/testing/selftests/rcutorture/configs/v3.3/N1-S-T-NH-SD-SMP-HP new file +19 -0
new file mode 100644
index 0000000..d81e11d

Lines of this file are not shown. View the raw message.

tools/testing/selftests/rcutorture/configs/v3.3/N2-2-t-nh-sd-SMP-hp new file +20 -0
new file mode 100644
index 0000000..02e4185

Lines of this file are not shown. View the raw message.

tools/testing/selftests/rcutorture/configs/v3.3/N3-3-T-nh-SD-SMP-hp new file +22 -0
new file mode 100644
index 0000000..b3100f6

Lines of this file are not shown. View the raw message.

tools/testing/selftests/rcutorture/configs/v3.3/N4-A-t-NH-sd-SMP-HP new file +18 -0
new file mode 100644
index 0000000..c56b445

Lines of this file are not shown. View the raw message.

tools/testing/selftests/rcutorture/configs/v3.3/N5-U-T-NH-sd-SMP-hp new file +22 -0
new file mode 100644
index 0000000..90d924f

Lines of this file are not shown. View the raw message.

tools/testing/selftests/rcutorture/configs/v3.3/NT1-nh new file +23 -0
new file mode 100644
index 0000000..023f312

Lines of this file are not shown. View the raw message.

tools/testing/selftests/rcutorture/configs/v3.3/NT3-NH new file +20 -0
new file mode 100644
index 0000000..6fd0235

Lines of this file are not shown. View the raw message.

tools/testing/selftests/rcutorture/configs/v3.3/P1-S-T-NH-SD-SMP-HP new file +20 -0
new file mode 100644
index 0000000..9647c44

Lines of this file are not shown. View the raw message.

tools/testing/selftests/rcutorture/configs/v3.3/P2-2-t-nh-sd-SMP-hp new file +20 -0
new file mode 100644
index 0000000..0f3b667

Lines of this file are not shown. View the raw message.

tools/testing/selftests/rcutorture/configs/v3.3/P3-3-T-nh-SD-SMP-hp new file +20 -0
new file mode 100644
index 0000000..b035e14

Lines of this file are not shown. View the raw message.

tools/testing/selftests/rcutorture/configs/v3.3/P4-A-t-NH-sd-SMP-HP new file +22 -0
new file mode 100644
index 0000000..3ccf6a9

Lines of this file are not shown. View the raw message.

tools/testing/selftests/rcutorture/configs/v3.3/P5-U-T-NH-sd-SMP-hp new file +28 -0
new file mode 100644
index 0000000..ef624ce

Lines of this file are not shown. View the raw message.

tools/testing/selftests/rcutorture/configs/v3.3/PT1-nh new file +23 -0
new file mode 100644
index 0000000..e3361c3

Lines of this file are not shown. View the raw message.

tools/testing/selftests/rcutorture/configs/v3.3/PT2-NH new file +22 -0
new file mode 100644
index 0000000..64abfc3

Lines of this file are not shown. View the raw message.

tools/testing/selftests/rcutorture/configs/v3.3/ver_functions.sh new file +41 -0

41 lines not on this page · raw message

tools/testing/selftests/rcutorture/configs/v3.5/CFLIST new file +14 -0
new file mode 100644
index 0000000..1822394

Lines of this file are not shown. View the raw message.

tools/testing/selftests/rcutorture/configs/v3.5/N1-S-T-NH-SD-SMP-HP new file +19 -0
new file mode 100644
index 0000000..d81e11d

Lines of this file are not shown. View the raw message.

tools/testing/selftests/rcutorture/configs/v3.5/N2-2-t-nh-sd-SMP-hp new file +20 -0
new file mode 100644
index 0000000..02e4185

Lines of this file are not shown. View the raw message.

tools/testing/selftests/rcutorture/configs/v3.5/N3-3-T-nh-SD-SMP-hp new file +22 -0
new file mode 100644
index 0000000..b3100f6

Lines of this file are not shown. View the raw message.

tools/testing/selftests/rcutorture/configs/v3.5/N4-A-t-NH-sd-SMP-HP new file +18 -0
new file mode 100644
index 0000000..c56b445

Lines of this file are not shown. View the raw message.

tools/testing/selftests/rcutorture/configs/v3.5/N5-U-T-NH-sd-SMP-hp new file +22 -0
new file mode 100644
index 0000000..90d924f

Lines of this file are not shown. View the raw message.

tools/testing/selftests/rcutorture/configs/v3.5/NT1-nh new file +23 -0
new file mode 100644
index 0000000..023f312

Lines of this file are not shown. View the raw message.

tools/testing/selftests/rcutorture/configs/v3.5/NT3-NH new file +20 -0
new file mode 100644
index 0000000..6fd0235

Lines of this file are not shown. View the raw message.

tools/testing/selftests/rcutorture/configs/v3.5/P1-S-T-NH-SD-SMP-HP new file +20 -0
new file mode 100644
index 0000000..9647c44

Lines of this file are not shown. View the raw message.

tools/testing/selftests/rcutorture/configs/v3.5/P2-2-t-nh-sd-SMP-hp new file +20 -0
new file mode 100644
index 0000000..0f3b667

Lines of this file are not shown. View the raw message.

tools/testing/selftests/rcutorture/configs/v3.5/P3-3-T-nh-SD-SMP-hp new file +20 -0
new file mode 100644
index 0000000..b035e14

Lines of this file are not shown. View the raw message.

tools/testing/selftests/rcutorture/configs/v3.5/P4-A-t-NH-sd-SMP-HP new file +22 -0
new file mode 100644
index 0000000..3ccf6a9

Lines of this file are not shown. View the raw message.

tools/testing/selftests/rcutorture/configs/v3.5/P5-U-T-NH-sd-SMP-hp new file +28 -0
new file mode 100644
index 0000000..ef624ce

Lines of this file are not shown. View the raw message.

tools/testing/selftests/rcutorture/configs/v3.5/PT1-nh new file +23 -0
new file mode 100644
index 0000000..e3361c3

Lines of this file are not shown. View the raw message.

tools/testing/selftests/rcutorture/configs/v3.5/PT2-NH new file +22 -0
new file mode 100644
index 0000000..64abfc3

Lines of this file are not shown. View the raw message.

tools/testing/selftests/rcutorture/configs/v3.5/ver_functions.sh new file +46 -0

46 lines not on this page · raw message

tools/testing/selftests/rcutorture/configs/ver_functions.sh new file +46 -0

46 lines not on this page · raw message

tools/testing/selftests/rcutorture/doc/TINY_RCU.txt new file +40 -0
new file mode 100644
index 0000000..28db67b

Lines of this file are not shown. View the raw message.

tools/testing/selftests/rcutorture/doc/TREE_RCU-Kconfig.txt new file +95 -0

95 lines not on this page · raw message

tools/testing/selftests/rcutorture/doc/initrd.txt new file +90 -0

90 lines not on this page · raw message

tools/testing/selftests/rcutorture/doc/rcu-test-image.txt new file +42 -0

42 lines not on this page · raw message

The rest of this diff is not shown. View the raw message.

Part of the diff is not shown here. View the raw message.