Skip to contentSkip to conversation

RCU changes for v3.15

GIT PULL Ingo Molnar 3 participants 5 messages Mar 31, 2014 – Apr 1, 2014

Subsystems (11)
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: 7de700e6806cafa30c70bc84478431a11197a5ea Merge branch 'rcu/next' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu into core/rcu

Main changes:

* Torture-test changes, including refactoring of rcutorture and introduction of a vestigial locktorture.

* Real-time latency fixes.

* Documentation updates.

* Miscellaneous fixes.

Thanks,

Ingo

------------------>
Joe Perches (2):
rcu: Glue ASCII strings together
rcu: Indentation and spacing fixes.

Paul Bolle (2):
rcu: Disambiguate CONFIG_RCU_NOCB_CPUs
rcutorture: Rename TREE_RCU-Kconfig.txt

Paul E. McKenney (70):
documentation: Document call_rcu() safety mechanisms and limitations Documentation/memory-barriers.txt: ACCESS_ONCE() provides cache coherence Documentation/memory-barriers.txt: Conditional must use prior load Documentation/kernel-per-CPU-kthreads.txt: Workqueue affinity Documentation/memory-barriers.txt: Need barriers() for some control dependencies
documentation: Fix some inconsistencies in RTFP.txt
rcu: Add ACCESS_ONCE() to ->n_force_qs_lh accesses
rcu: Stop tracking FSF's postal address
rcu: Remove ACCESS_ONCE() from jiffies
rcu: Define rcu_assign_pointer() in terms of smp_store_release()
fs: Substitute rcu_access_pointer() for rcu_dereference_raw()
rcu: Optimize rcu_is_nocb_cpu() for RCU_NOCB_CPU_ALL
rcu: Optimize rcu_needs_cpu() for RCU_NOCB_CPU_ALL
rcu: Optimize RCU_FAST_NO_HZ for RCU_NOCB_CPU_ALL
rcutorture: Print grace-period performance statistics
rcutorture: Print script and arguments to standard output
rcutorture: Move common boot flags to kvm-test-1-rcu.sh
rcutorture: Allow kvm-test-1-rcu.sh to pause after build
rcutorture: Move common qemu flags to kvm-test-1.sh
rcutorture: Reduce SRCU-N number of CPUs
rcutorture: Enable concurrent rcutorture runs
rcutorture: Fix results-directory error message
rcutorture: Add dryrun capability
rcutorture: Handle multiple runs of the same test
rcutorture: Do better bin packing
rcutorture: Add comments, especially on bin packing.
rcutorture: Flag tests requiring more CPUs than are available
rcutorture: Print results directory when dumping results
rcutorture: Fix checkpatch complaint
rcutorture: Abstract rcu_torture_random()
rcutorture: Don't create results directory for dryruns
rcutorture: Abstract torture_param()
rcutorture: Rename PRINTK to TOROUT
rcutorture: Abstract TOROUT_STRING() and friends
rcutorture: Abstract torture_shutdown_absorb()
rcutorture: Abstract torture_shuffle()
rcutorture: Abstract torture_onoff()
rcutorture: Abstract torture-test initialization
rcutorture: Abstract torture-test cleanup
rcutorture: Print dates when doing parallel rcutorture runs
rcutorture: Abstract torture_shutdown_notify()
rcutorture: Privatize fullstop
rcutorture: Add diagnostic for unscheduled system shutdown
rcutorture: Abstract stutter_wait()
rcutorture: Apply ACCESS_ONCE() to racy fullstop accesses
rcutorture: Abstract torture_shutdown()
rcutorture: Clean up rcu_torture_init() error checking
rcutorture: Announce task creation
rcutorture: Fix rcutorture shutdown races
rcutorture: Fix missing-return bug in rcu_torture_barrier_init()
rcutorture: Abstract torture_create_kthread()
rcutorture: Abstract torture_stop_kthread()
rcutorture: Stop generic kthreads in torture_cleanup()
rcutorture: Abstract kvm-recheck.sh
locktorture: Add a lock-torture kernel module
rcutorture: Add an rcu_busted to test the test
rcutorture: Create config files for scripted test-the-test testing
rcutorture: Create CFcommon file for common Kconfig parameters
rcutorture: Remove RCU dependencies from ver_functions.sh API
rcutorture: Rename kvm-test-1-rcu.sh
rcutorture: Introduce "rcu" directory level underneath configs
locktorture: Add vestigial locktorture configuration
rcutorture: Gracefully handle NULL cleanup hooks
locktorture: Add kvm-recheck.sh plug-in for locktorture
rcutorture: Place kvm-test-1-run.sh output into res directory
rcutorture: Add a lock_busted to test the test
rcutorture: Save kvm.sh output to log Documentation/memory-barriers.txt: Clarify release/acquire ordering
notifier: Substitute rcu_access_pointer() for rcu_dereference_raw()
rcu: Provide grace-period piggybacking API

Paul Gortmaker (2):
rcu: Fix sparse warning for rcu_expedited from kernel/ksysfs.c
rcu: Ensure kernel/rcu/rcu.h can be sourced/used stand-alone

Shaibal Dutta (1):
rcu: Move SRCU grace period work to power efficient workqueue

 Documentation/RCU/RTFP.txt                         | 149 ++-
 Documentation/RCU/checklist.txt                    |  18 +-
 Documentation/kernel-per-CPU-kthreads.txt          |  13 +-
 Documentation/memory-barriers.txt                  | 137 ++-
 fs/file.c                                          |   2 +-
 include/linux/rculist.h                            |  17 +-
 include/linux/rcupdate.h                           |  94 +-
 include/linux/rcutiny.h                            |  20 +-
 include/linux/rcutree.h                            |   8 +-
 include/linux/srcu.h                               |   4 +-
 include/linux/torture.h                            | 100 +++
 kernel/Makefile                                    |   1 +
 kernel/ksysfs.c                                    |   2 +
 kernel/locking/Makefile                            |   1 +
 kernel/locking/locktorture.c                       | 452 ++++++++++
 kernel/notifier.c                                  |   2 +-
 kernel/rcu/Makefile                                |   2 +-
 kernel/rcu/rcu.h                                   |   7 +-
 kernel/rcu/{torture.c => rcutorture.c}             | 996 +++++----------------
 kernel/rcu/srcu.c                                  |  11 +-
 kernel/rcu/tiny.c                                  |   8 +-
 kernel/rcu/tiny_plugin.h                           |   4 +-
 kernel/rcu/tree.c                                  |  80 +-
 kernel/rcu/tree.h                                  |   4 +-
 kernel/rcu/tree_plugin.h                           |  19 +-
 kernel/rcu/tree_trace.c                            |   6 +-
 kernel/rcu/update.c                                |   5 +-
 kernel/torture.c                                   | 719 +++++++++++++++
 lib/Kconfig.debug                                  |  20 +
 .../testing/selftests/rcutorture/bin/functions.sh  |   1 +
 .../selftests/rcutorture/bin/kvm-recheck-lock.sh   |  51 ++
 .../selftests/rcutorture/bin/kvm-recheck-rcu.sh    |  51 ++
 .../selftests/rcutorture/bin/kvm-recheck.sh        |  13 +-
 .../bin/{kvm-test-1-rcu.sh => kvm-test-1-run.sh}   |  53 +-
 tools/testing/selftests/rcutorture/bin/kvm.sh      | 276 +++++-
 .../selftests/rcutorture/configs/lock/BUSTED       |   6 +
 .../selftests/rcutorture/configs/lock/BUSTED.boot  |   1 +
 .../selftests/rcutorture/configs/lock/CFLIST       |   1 +
 .../selftests/rcutorture/configs/lock/CFcommon     |   2 +
 .../selftests/rcutorture/configs/lock/LOCK01       |   6 +
 .../rcutorture/configs/lock/ver_functions.sh       |  43 +
 .../selftests/rcutorture/configs/rcu/BUSTED        |   7 +
 .../selftests/rcutorture/configs/rcu/BUSTED.boot   |   1 +
 .../selftests/rcutorture/configs/{ => rcu}/CFLIST  |   0
 .../selftests/rcutorture/configs/rcu/CFcommon      |   2 +
 .../selftests/rcutorture/configs/{ => rcu}/SRCU-N  |   3 +-
 .../rcutorture/configs/{ => rcu}/SRCU-N.boot       |   0
 .../selftests/rcutorture/configs/{ => rcu}/SRCU-P  |   1 -
 .../rcutorture/configs/{ => rcu}/SRCU-P.boot       |   0
 .../selftests/rcutorture/configs/{ => rcu}/TINY01  |   1 -
 .../selftests/rcutorture/configs/{ => rcu}/TINY02  |   1 -
 .../selftests/rcutorture/configs/{ => rcu}/TREE01  |   1 -
 .../rcutorture/configs/{ => rcu}/TREE01.boot       |   0
 .../selftests/rcutorture/configs/{ => rcu}/TREE02  |   3 +-
 .../selftests/rcutorture/configs/{ => rcu}/TREE03  |   1 -
 .../selftests/rcutorture/configs/{ => rcu}/TREE04  |   1 -
 .../rcutorture/configs/{ => rcu}/TREE04.boot       |   0
 .../selftests/rcutorture/configs/{ => rcu}/TREE05  |   1 -
 .../rcutorture/configs/{ => rcu}/TREE05.boot       |   0
 .../selftests/rcutorture/configs/{ => rcu}/TREE06  |   1 -
 .../selftests/rcutorture/configs/{ => rcu}/TREE07  |   1 -
 .../selftests/rcutorture/configs/{ => rcu}/TREE08  |   1 -
 .../rcutorture/configs/{ => rcu}/TREE08-T          |   1 -
 .../selftests/rcutorture/configs/{ => rcu}/TREE09  |   1 -
 .../rcutorture/configs/{ => rcu}/v0.0/CFLIST       |   0
 .../configs/{ => rcu}/v0.0/N1-S-T-NH-SD-SMP-HP     |   0
 .../configs/{ => rcu}/v0.0/N2-2-t-nh-sd-SMP-hp     |   0
 .../configs/{ => rcu}/v0.0/N3-3-T-nh-SD-SMP-hp     |   0
 .../configs/{ => rcu}/v0.0/N4-A-t-NH-sd-SMP-HP     |   0
 .../configs/{ => rcu}/v0.0/N5-U-T-NH-sd-SMP-hp     |   0
 .../rcutorture/configs/{ => rcu}/v0.0/NT1-nh       |   0
 .../rcutorture/configs/{ => rcu}/v0.0/NT3-NH       |   0
 .../configs/{ => rcu}/v0.0/P1-S-T-NH-SD-SMP-HP     |   0
 .../configs/{ => rcu}/v0.0/P2-2-t-nh-sd-SMP-hp     |   0
 .../configs/{ => rcu}/v0.0/P3-3-T-nh-SD-SMP-hp     |   0
 .../configs/{ => rcu}/v0.0/P4-A-t-NH-sd-SMP-HP     |   0
 .../configs/{ => rcu}/v0.0/P5-U-T-NH-sd-SMP-hp     |   0
 .../rcutorture/configs/{ => rcu}/v0.0/PT1-nh       |   0
 .../rcutorture/configs/{ => rcu}/v0.0/PT2-NH       |   0
 .../configs/{ => rcu}/v0.0/ver_functions.sh        |  22 +-
 .../rcutorture/configs/{ => rcu}/v3.12/CFLIST      |   0
 .../configs/{ => rcu}/v3.12/N1-S-T-NH-SD-SMP-HP    |   0
 .../configs/{ => rcu}/v3.12/N2-2-t-nh-sd-SMP-hp    |   0
 .../configs/{ => rcu}/v3.12/N3-3-T-nh-SD-SMP-hp    |   0
 .../configs/{ => rcu}/v3.12/N4-A-t-NH-sd-SMP-HP    |   0
 .../configs/{ => rcu}/v3.12/N5-U-T-NH-sd-SMP-hp    |   0
 .../configs/{ => rcu}/v3.12/N6---t-nh-SD-smp-hp    |   0
 .../configs/{ => rcu}/v3.12/N7-4-T-NH-SD-SMP-HP    |   0
 .../configs/{ => rcu}/v3.12/N8-2-T-NH-SD-SMP-HP    |   0
 .../rcutorture/configs/{ => rcu}/v3.12/NT1-nh      |   0
 .../rcutorture/configs/{ => rcu}/v3.12/NT3-NH      |   0
 .../configs/{ => rcu}/v3.12/P1-S-T-NH-SD-SMP-HP    |   0
 .../configs/{ => rcu}/v3.12/P2-2-t-nh-sd-SMP-hp    |   0
 .../configs/{ => rcu}/v3.12/P3-3-T-nh-SD-SMP-hp    |   0
 .../configs/{ => rcu}/v3.12/P4-A-t-NH-sd-SMP-HP    |   0
 .../configs/{ => rcu}/v3.12/P5-U-T-NH-sd-SMP-hp    |   0
 .../configs/{ => rcu}/v3.12/P6---t-nh-SD-smp-hp    |   0
 .../configs/{ => rcu}/v3.12/P7-4-T-NH-SD-SMP-HP    |   0
 .../{ => rcu}/v3.12/P7-4-T-NH-SD-SMP-HP-all        |   0
 .../{ => rcu}/v3.12/P7-4-T-NH-SD-SMP-HP-none       |   0
 .../configs/{ => rcu}/v3.12/P7-4-T-NH-SD-SMP-hp    |   0
 .../rcutorture/configs/{ => rcu}/v3.12/PT1-nh      |   0
 .../rcutorture/configs/{ => rcu}/v3.12/PT2-NH      |   0
 .../rcutorture/configs/{ => rcu}/v3.3/CFLIST       |   0
 .../configs/{ => rcu}/v3.3/N1-S-T-NH-SD-SMP-HP     |   0
 .../configs/{ => rcu}/v3.3/N2-2-t-nh-sd-SMP-hp     |   0
 .../configs/{ => rcu}/v3.3/N3-3-T-nh-SD-SMP-hp     |   0
 .../configs/{ => rcu}/v3.3/N4-A-t-NH-sd-SMP-HP     |   0
 .../configs/{ => rcu}/v3.3/N5-U-T-NH-sd-SMP-hp     |   0
 .../rcutorture/configs/{ => rcu}/v3.3/NT1-nh       |   0
 .../rcutorture/configs/{ => rcu}/v3.3/NT3-NH       |   0
 .../configs/{ => rcu}/v3.3/P1-S-T-NH-SD-SMP-HP     |   0
 .../configs/{ => rcu}/v3.3/P2-2-t-nh-sd-SMP-hp     |   0
 .../configs/{ => rcu}/v3.3/P3-3-T-nh-SD-SMP-hp     |   0
 .../configs/{ => rcu}/v3.3/P4-A-t-NH-sd-SMP-HP     |   0
 .../configs/{ => rcu}/v3.3/P5-U-T-NH-sd-SMP-hp     |   0
 .../rcutorture/configs/{ => rcu}/v3.3/PT1-nh       |   0
 .../rcutorture/configs/{ => rcu}/v3.3/PT2-NH       |   0
 .../configs/{ => rcu/v3.3}/ver_functions.sh        |  28 +-
 .../rcutorture/configs/{ => rcu}/v3.5/CFLIST       |   0
 .../configs/{ => rcu}/v3.5/N1-S-T-NH-SD-SMP-HP     |   0
 .../configs/{ => rcu}/v3.5/N2-2-t-nh-sd-SMP-hp     |   0
 .../configs/{ => rcu}/v3.5/N3-3-T-nh-SD-SMP-hp     |   0
 .../configs/{ => rcu}/v3.5/N4-A-t-NH-sd-SMP-HP     |   0
 .../configs/{ => rcu}/v3.5/N5-U-T-NH-sd-SMP-hp     |   0
 .../rcutorture/configs/{ => rcu}/v3.5/NT1-nh       |   0
 .../rcutorture/configs/{ => rcu}/v3.5/NT3-NH       |   0
 .../configs/{ => rcu}/v3.5/P1-S-T-NH-SD-SMP-HP     |   0
 .../configs/{ => rcu}/v3.5/P2-2-t-nh-sd-SMP-hp     |   0
 .../configs/{ => rcu}/v3.5/P3-3-T-nh-SD-SMP-hp     |   0
 .../configs/{ => rcu}/v3.5/P4-A-t-NH-sd-SMP-HP     |   0
 .../configs/{ => rcu}/v3.5/P5-U-T-NH-sd-SMP-hp     |   0
 .../rcutorture/configs/{ => rcu}/v3.5/PT1-nh       |   0
 .../rcutorture/configs/{ => rcu}/v3.5/PT2-NH       |   0
 .../configs/{ => rcu}/v3.5/ver_functions.sh        |  23 +-
 .../configs/{v3.3 => rcu}/ver_functions.sh         |  26 +-
 .../{TREE_RCU-Kconfig.txt => TREE_RCU-kconfig.txt} |   0
 137 files changed, 2454 insertions(+), 1078 deletions(-)
 create mode 100644 include/linux/torture.h
 create mode 100644 kernel/locking/locktorture.c
 rename kernel/rcu/{torture.c => rcutorture.c} (59%)
 create mode 100644 kernel/torture.c
 create mode 100755 tools/testing/selftests/rcutorture/bin/kvm-recheck-lock.sh
 create mode 100755 tools/testing/selftests/rcutorture/bin/kvm-recheck-rcu.sh
 rename tools/testing/selftests/rcutorture/bin/{kvm-test-1-rcu.sh => kvm-test-1-run.sh} (79%)
 create mode 100644 tools/testing/selftests/rcutorture/configs/lock/BUSTED
 create mode 100644 tools/testing/selftests/rcutorture/configs/lock/BUSTED.boot
 create mode 100644 tools/testing/selftests/rcutorture/configs/lock/CFLIST
 create mode 100644 tools/testing/selftests/rcutorture/configs/lock/CFcommon
 create mode 100644 tools/testing/selftests/rcutorture/configs/lock/LOCK01
 create mode 100644 tools/testing/selftests/rcutorture/configs/lock/ver_functions.sh
 create mode 100644 tools/testing/selftests/rcutorture/configs/rcu/BUSTED
 create mode 100644 tools/testing/selftests/rcutorture/configs/rcu/BUSTED.boot
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/CFLIST (100%)
 create mode 100644 tools/testing/selftests/rcutorture/configs/rcu/CFcommon
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/SRCU-N (75%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/SRCU-N.boot (100%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/SRCU-P (86%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/SRCU-P.boot (100%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/TINY01 (92%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/TINY02 (92%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/TREE01 (96%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/TREE01.boot (100%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/TREE02 (92%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/TREE03 (96%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/TREE04 (96%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/TREE04.boot (100%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/TREE05 (96%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/TREE05.boot (100%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/TREE06 (96%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/TREE07 (96%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/TREE08 (96%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/TREE08-T (96%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/TREE09 (95%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/v0.0/CFLIST (100%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/v0.0/N1-S-T-NH-SD-SMP-HP (100%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/v0.0/N2-2-t-nh-sd-SMP-hp (100%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/v0.0/N3-3-T-nh-SD-SMP-hp (100%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/v0.0/N4-A-t-NH-sd-SMP-HP (100%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/v0.0/N5-U-T-NH-sd-SMP-hp (100%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/v0.0/NT1-nh (100%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/v0.0/NT3-NH (100%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/v0.0/P1-S-T-NH-SD-SMP-HP (100%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/v0.0/P2-2-t-nh-sd-SMP-hp (100%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/v0.0/P3-3-T-nh-SD-SMP-hp (100%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/v0.0/P4-A-t-NH-sd-SMP-HP (100%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/v0.0/P5-U-T-NH-sd-SMP-hp (100%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/v0.0/PT1-nh (100%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/v0.0/PT2-NH (100%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/v0.0/ver_functions.sh (70%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/v3.12/CFLIST (100%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/v3.12/N1-S-T-NH-SD-SMP-HP (100%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/v3.12/N2-2-t-nh-sd-SMP-hp (100%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/v3.12/N3-3-T-nh-SD-SMP-hp (100%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/v3.12/N4-A-t-NH-sd-SMP-HP (100%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/v3.12/N5-U-T-NH-sd-SMP-hp (100%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/v3.12/N6---t-nh-SD-smp-hp (100%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/v3.12/N7-4-T-NH-SD-SMP-HP (100%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/v3.12/N8-2-T-NH-SD-SMP-HP (100%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/v3.12/NT1-nh (100%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/v3.12/NT3-NH (100%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/v3.12/P1-S-T-NH-SD-SMP-HP (100%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/v3.12/P2-2-t-nh-sd-SMP-hp (100%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/v3.12/P3-3-T-nh-SD-SMP-hp (100%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/v3.12/P4-A-t-NH-sd-SMP-HP (100%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/v3.12/P5-U-T-NH-sd-SMP-hp (100%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/v3.12/P6---t-nh-SD-smp-hp (100%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/v3.12/P7-4-T-NH-SD-SMP-HP (100%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/v3.12/P7-4-T-NH-SD-SMP-HP-all (100%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/v3.12/P7-4-T-NH-SD-SMP-HP-none (100%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/v3.12/P7-4-T-NH-SD-SMP-hp (100%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/v3.12/PT1-nh (100%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/v3.12/PT2-NH (100%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/v3.3/CFLIST (100%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/v3.3/N1-S-T-NH-SD-SMP-HP (100%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/v3.3/N2-2-t-nh-sd-SMP-hp (100%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/v3.3/N3-3-T-nh-SD-SMP-hp (100%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/v3.3/N4-A-t-NH-sd-SMP-HP (100%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/v3.3/N5-U-T-NH-sd-SMP-hp (100%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/v3.3/NT1-nh (100%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/v3.3/NT3-NH (100%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/v3.3/P1-S-T-NH-SD-SMP-HP (100%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/v3.3/P2-2-t-nh-sd-SMP-hp (100%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/v3.3/P3-3-T-nh-SD-SMP-hp (100%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/v3.3/P4-A-t-NH-sd-SMP-HP (100%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/v3.3/P5-U-T-NH-sd-SMP-hp (100%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/v3.3/PT1-nh (100%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/v3.3/PT2-NH (100%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu/v3.3}/ver_functions.sh (72%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/v3.5/CFLIST (100%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/v3.5/N1-S-T-NH-SD-SMP-HP (100%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/v3.5/N2-2-t-nh-sd-SMP-hp (100%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/v3.5/N3-3-T-nh-SD-SMP-hp (100%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/v3.5/N4-A-t-NH-sd-SMP-HP (100%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/v3.5/N5-U-T-NH-sd-SMP-hp (100%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/v3.5/NT1-nh (100%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/v3.5/NT3-NH (100%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/v3.5/P1-S-T-NH-SD-SMP-HP (100%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/v3.5/P2-2-t-nh-sd-SMP-hp (100%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/v3.5/P3-3-T-nh-SD-SMP-hp (100%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/v3.5/P4-A-t-NH-sd-SMP-HP (100%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/v3.5/P5-U-T-NH-sd-SMP-hp (100%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/v3.5/PT1-nh (100%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/v3.5/PT2-NH (100%)
 rename tools/testing/selftests/rcutorture/configs/{ => rcu}/v3.5/ver_functions.sh (69%)
 rename tools/testing/selftests/rcutorture/configs/{v3.3 => rcu}/ver_functions.sh (66%)
 rename tools/testing/selftests/rcutorture/doc/{TREE_RCU-Kconfig.txt => TREE_RCU-kconfig.txt} (100%)
Documentation/RCU/RTFP.txt +125 -24
index 273e654d..2f0fcb2 100644
@@ -31,6 +31,14 @@ has lapsed, so this approach may be used in non-GPL software, if desired.
 (In contrast, implementation of RCU is permitted only in software licensed
 under either GPL or LGPL.  Sorry!!!)
 
+In 1987, Rashid et al. described lazy TLB-flush [RichardRashid87a].
+At first glance, this has nothing to do with RCU, but nevertheless
+this paper helped inspire the update-side batching used in the later
+RCU implementation in DYNIX/ptx.  In 1988, Barbara Liskov published
+a description of Argus that noted that use of out-of-date values can
+be tolerated in some situations.  Thus, this paper provides some early
+theoretical justification for use of stale data.
+
 In 1990, Pugh [Pugh90] noted that explicitly tracking which threads
 were reading a given data structure permitted deferred free to operate
 in the presence of non-terminating threads.  However, this explicit
@@ -41,11 +49,11 @@ providing a fine-grained locking design, however, it would be interesting
 to see how much of the performance advantage reported in 1990 remains
 today.
 
-At about this same time, Adams [Adams91] described ``chaotic relaxation'',
-where the normal barriers between successive iterations of convergent
-numerical algorithms are relaxed, so that iteration $n$ might use
-data from iteration $n-1$ or even $n-2$.  This introduces error,
-which typically slows convergence and thus increases the number of
+At about this same time, Andrews [Andrews91textbook] described ``chaotic
+relaxation'', where the normal barriers between successive iterations
+of convergent numerical algorithms are relaxed, so that iteration $n$
+might use data from iteration $n-1$ or even $n-2$.  This introduces
+error, which typically slows convergence and thus increases the number of
 iterations required.  However, this increase is sometimes more than made
 up for by a reduction in the number of expensive barrier operations,
 which are otherwise required to synchronize the threads at the end
@@ -55,7 +63,8 @@ is thus inapplicable to most data structures in operating-system kernels.
 
 In 1992, Henry (now Alexia) Massalin completed a dissertation advising
 parallel programmers to defer processing when feasible to simplify
-synchronization.  RCU makes extremely heavy use of this advice.
+synchronization [HMassalinPhD].  RCU makes extremely heavy use of
+this advice.
 
 In 1993, Jacobson [Jacobson93] verbally described what is perhaps the
 simplest deferred-free technique: simply waiting a fixed amount of time
@@ -90,27 +99,29 @@ mechanism, which is quite similar to RCU [Gamsa99].  These operating
 systems made pervasive use of RCU in place of "existence locks", which
 greatly simplifies locking hierarchies and helps avoid deadlocks.
 
-2001 saw the first RCU presentation involving Linux [McKenney01a]
-at OLS.  The resulting abundance of RCU patches was presented the
-following year [McKenney02a], and use of RCU in dcache was first
-described that same year [Linder02a].
+The year 2000 saw an email exchange that would likely have
+led to yet another independent invention of something like RCU
+[RustyRussell2000a,RustyRussell2000b].  Instead, 2001 saw the first
+RCU presentation involving Linux [McKenney01a] at OLS.  The resulting
+abundance of RCU patches was presented the following year [McKenney02a],
+and use of RCU in dcache was first described that same year [Linder02a].
 
 Also in 2002, Michael [Michael02b,Michael02a] presented "hazard-pointer"
 techniques that defer the destruction of data structures to simplify
 non-blocking synchronization (wait-free synchronization, lock-free
 synchronization, and obstruction-free synchronization are all examples of
-non-blocking synchronization).  In particular, this technique eliminates
-locking, reduces contention, reduces memory latency for readers, and
-parallelizes pipeline stalls and memory latency for writers.  However,
-these techniques still impose significant read-side overhead in the
-form of memory barriers.  Researchers at Sun worked along similar lines
-in the same timeframe [HerlihyLM02].  These techniques can be thought
-of as inside-out reference counts, where the count is represented by the
-number of hazard pointers referencing a given data structure rather than
-the more conventional counter field within the data structure itself.
-The key advantage of inside-out reference counts is that they can be
-stored in immortal variables, thus allowing races between access and
-deletion to be avoided.
+non-blocking synchronization).  The corresponding journal article appeared
+in 2004 [MagedMichael04a].  This technique eliminates locking, reduces
+contention, reduces memory latency for readers, and parallelizes pipeline
+stalls and memory latency for writers.  However, these techniques still
+impose significant read-side overhead in the form of memory barriers.
+Researchers at Sun worked along similar lines in the same timeframe
+[HerlihyLM02].  These techniques can be thought of as inside-out reference
+counts, where the count is represented by the number of hazard pointers
+referencing a given data structure rather than the more conventional
+counter field within the data structure itself.  The key advantage
+of inside-out reference counts is that they can be stored in immortal
+variables, thus allowing races between access and deletion to be avoided.
 
 By the same token, RCU can be thought of as a "bulk reference count",
 where some form of reference counter covers all reference by a given CPU
@@ -123,8 +134,10 @@ can be thought of in other terms as well.
 
 In 2003, the K42 group described how RCU could be used to create
 hot-pluggable implementations of operating-system functions [Appavoo03a].
-Later that year saw a paper describing an RCU implementation of System
-V IPC [Arcangeli03], and an introduction to RCU in Linux Journal
+Later that year saw a paper describing an RCU implementation
+of System V IPC [Arcangeli03] (following up on a suggestion by
+Hugh Dickins [Dickins02a] and an implementation by Mingming Cao
+[MingmingCao2002IPCRCU]), and an introduction to RCU in Linux Journal
 [McKenney03a].
 
 2004 has seen a Linux-Journal article on use of RCU in dcache
@@ -383,6 +396,21 @@ for Programming Languages and Operating Systems}"
 }
 }
 
+@phdthesis{HMassalinPhD
+,author="H. Massalin"
+,title="Synthesis: An Efficient Implementation of Fundamental Operating
+System Services"
+,school="Columbia University"
+,address="New York, NY"
+,year="1992"
+,annotation={
+	Mondo optimizing compiler.
+	Wait-free stuff.
+	Good advice: defer work to avoid synchronization.  See page 90
+		(PDF page 106), Section 5.4, fourth bullet point.
+}
+}
+
 @unpublished{Jacobson93
 ,author="Van Jacobson"
 ,title="Avoid Read-Side Locking Via Delayed Free"
@@ -671,6 +699,20 @@ Orran Krieger and Rusty Russell and Dipankar Sarma and Maneesh Soni"
 [Viewed October 18, 2004]"
 }
 
+@conference{Michael02b
+,author="Maged M. Michael"
+,title="High Performance Dynamic Lock-Free Hash Tables and List-Based Sets"
+,Year="2002"
+,Month="August"
+,booktitle="{Proceedings of the 14\textsuperscript{th} Annual ACM
+Symposium on Parallel
+Algorithms and Architecture}"
+,pages="73-82"
+,annotation={
+Like the title says...
+}
+}
+
 @Conference{Linder02a
 ,Author="Hanna Linder and Dipankar Sarma and Maneesh Soni"
 ,Title="Scalability of the Directory Entry Cache"
@@ -727,6 +769,24 @@ Andrea Arcangeli and Andi Kleen and Orran Krieger and Rusty Russell"
 }
 }
 
+@conference{Michael02a
+,author="Maged M. Michael"
+,title="Safe Memory Reclamation for Dynamic Lock-Free Objects Using Atomic
+Reads and Writes"
+,Year="2002"
+,Month="August"
+,booktitle="{Proceedings of the 21\textsuperscript{st} Annual ACM
+Symposium on Principles of Distributed Computing}"
+,pages="21-30"
+,annotation={
+	Each thread keeps an array of pointers to items that it is
+	currently referencing.	Sort of an inside-out garbage collection
+	mechanism, but one that requires the accessing code to explicitly
+	state its needs.  Also requires read-side memory barriers on
+	most architectures.
+}
+}
+
 @unpublished{Dickins02a
 ,author="Hugh Dickins"
 ,title="Use RCU for System-V IPC"
@@ -735,6 +795,17 @@ Andrea Arcangeli and Andi Kleen and Orran Krieger and Rusty Russell"
 ,note="private communication"
 }
 
+@InProceedings{HerlihyLM02
+,author={Maurice Herlihy and Victor Luchangco and Mark Moir}
+,title="The Repeat Offender Problem: A Mechanism for Supporting Dynamic-Sized,
+Lock-Free Data Structures"
+,booktitle={Proceedings of 16\textsuperscript{th} International
+Symposium on Distributed Computing}
+,year=2002
+,month="October"
+,pages="339-353"
+}
+
 @unpublished{Sarma02b
 ,Author="Dipankar Sarma"
 ,Title="Some dcache\_rcu benchmark numbers"
@@ -749,6 +820,19 @@ Andrea Arcangeli and Andi Kleen and Orran Krieger and Rusty Russell"
 }
 }
 
+@unpublished{MingmingCao2002IPCRCU
+,Author="Mingming Cao"
+,Title="[PATCH]updated ipc lock patch"
+,month="October"
+,year="2002"
+,note="Available:
+\url{https://lkml.org/lkml/2002/10/24/262}
+[Viewed February 15, 2014]"
+,annotation={
+	Mingming Cao's patch to introduce RCU to SysV IPC.
+}
+}
+
 @unpublished{LinusTorvalds2003a
 ,Author="Linus Torvalds"
 ,Title="Re: {[PATCH]} small fixes in brlock.h"
@@ -982,6 +1066,23 @@ Realtime Applications"
 }
 }
 
+@article{MagedMichael04a
+,author="Maged M. Michael"
+,title="Hazard Pointers: Safe Memory Reclamation for Lock-Free Objects"
+,Year="2004"
+,Month="June"
+,journal="IEEE Transactions on Parallel and Distributed Systems"
+,volume="15"
+,number="6"
+,pages="491-504"
+,url="Available:
+\url{http://www.research.ibm.com/people/m/michael/ieeetpds-2004.pdf}
+[Viewed March 1, 2005]"
+,annotation={
+	New canonical hazard-pointer citation.
+}
+}
+
 @phdthesis{PaulEdwardMcKenneyPhD
 ,author="Paul E. McKenney"
 ,title="Exploiting Deferred Destruction:
Documentation/RCU/checklist.txt +13 -5
index 9126619..9d10d1d 100644
@@ -256,10 +256,10 @@ over a rather long period of time, but improvements are always welcome!
 		variations on this theme.
 
 	b.	Limiting update rate.  For example, if updates occur only
-		once per hour, then no explicit rate limiting is required,
-		unless your system is already badly broken.  The dcache
-		subsystem takes this approach -- updates are guarded
-		by a global lock, limiting their rate.
+		once per hour, then no explicit rate limiting is
+		required, unless your system is already badly broken.
+		Older versions of the dcache subsystem take this approach,
+		guarding updates with a global lock, limiting their rate.
 
 	c.	Trusted update -- if updates can only be done manually by
 		superuser or some other trusted user, then it might not
@@ -268,7 +268,8 @@ over a rather long period of time, but improvements are always welcome!
 		the machine.
 
 	d.	Use call_rcu_bh() rather than call_rcu(), in order to take
-		advantage of call_rcu_bh()'s faster grace periods.
+		advantage of call_rcu_bh()'s faster grace periods.  (This
+		is only a partial solution, though.)
 
 	e.	Periodically invoke synchronize_rcu(), permitting a limited
 		number of updates per grace period.
@@ -276,6 +277,13 @@ over a rather long period of time, but improvements are always welcome!
 	The same cautions apply to call_rcu_bh(), call_rcu_sched(),
 	call_srcu(), and kfree_rcu().
 
+	Note that although these primitives do take action to avoid memory
+	exhaustion when any given CPU has too many callbacks, a determined
+	user could still exhaust memory.  This is especially the case
+	if a system with a large number of CPUs has been configured to
+	offload all of its RCU callbacks onto a single CPU, or if the
+	system has relatively little free memory.
+
 9.	All RCU list-traversal primitives, which include
 	rcu_dereference(), list_for_each_entry_rcu(), and
 	list_for_each_safe_rcu(), must be either within an RCU read-side
Documentation/kernel-per-CPU-kthreads.txt +12 -1
index 827104f..f3cd299 100644
@@ -162,7 +162,18 @@ Purpose: Execute workqueue requests
 To reduce its OS jitter, do any of the following:
 1.	Run your workload at a real-time priority, which will allow
 	preempting the kworker daemons.
-2.	Do any of the following needed to avoid jitter that your
+2.	A given workqueue can be made visible in the sysfs filesystem
+	by passing the WQ_SYSFS to that workqueue's alloc_workqueue().
+	Such a workqueue can be confined to a given subset of the
+	CPUs using the /sys/devices/virtual/workqueue/*/cpumask sysfs
+	files.	The set of WQ_SYSFS workqueues can be displayed using
+	"ls sys/devices/virtual/workqueue".  That said, the workqueues
+	maintainer would like to caution people against indiscriminately
+	sprinkling WQ_SYSFS across all the workqueues.	The reason for
+	caution is that it is easy to add WQ_SYSFS, but because sysfs is
+	part of the formal user/kernel API, it can be nearly impossible
+	to remove it, even if its addition was a mistake.
+3.	Do any of the following needed to avoid jitter that your
 	application cannot tolerate:
 	a.	Build your kernel with CONFIG_SLUB=y rather than
 		CONFIG_SLAB=y, thus avoiding the slab allocator's periodic
Documentation/memory-barriers.txt +99 -38

220 lines not on this page · raw message

fs/file.c +1 -1
index db25c2b..18f7d27 100644
@@ -497,7 +497,7 @@ repeat:
 	error = fd;
 #if 1
 	/* Sanity check */
-	if (rcu_dereference_raw(fdt->fd[fd]) != NULL) {
+	if (rcu_access_pointer(fdt->fd[fd]) != NULL) {
 		printk(KERN_WARNING "alloc_fd: slot %d not NULL!\n", fd);
 		rcu_assign_pointer(fdt->fd[fd], NULL);
 	}
include/linux/rculist.h +9 -8
index dbaf990..8183b46 100644
@@ -247,9 +247,10 @@ static inline void list_splice_init_rcu(struct list_head *list,
  * primitives such as list_add_rcu() as long as it's guarded by rcu_read_lock().
  */
 #define list_entry_rcu(ptr, type, member) \
-	({typeof (*ptr) __rcu *__ptr = (typeof (*ptr) __rcu __force *)ptr; \
-	 container_of((typeof(ptr))rcu_dereference_raw(__ptr), type, member); \
-	})
+({ \
+	typeof(*ptr) __rcu *__ptr = (typeof(*ptr) __rcu __force *)ptr; \
+	container_of((typeof(ptr))rcu_dereference_raw(__ptr), type, member); \
+})
 
 /**
  * Where are list_empty_rcu() and list_first_entry_rcu()?
@@ -285,11 +286,11 @@ static inline void list_splice_init_rcu(struct list_head *list,
  * primitives such as list_add_rcu() as long as it's guarded by rcu_read_lock().
  */
 #define list_first_or_null_rcu(ptr, type, member) \
-	({struct list_head *__ptr = (ptr); \
-	  struct list_head *__next = ACCESS_ONCE(__ptr->next); \
-	  likely(__ptr != __next) ? \
-		list_entry_rcu(__next, type, member) : NULL; \
-	})
+({ \
+	struct list_head *__ptr = (ptr); \
+	struct list_head *__next = ACCESS_ONCE(__ptr->next); \
+	likely(__ptr != __next) ? list_entry_rcu(__next, type, member) : NULL; \
+})
 
 /**
  * list_for_each_entry_rcu	-	iterate over rcu list of given type
include/linux/rcupdate.h +48 -46

140 lines not on this page · raw message

include/linux/rcutiny.h +12 -8
index 6f01771..425c659 100644
@@ -12,8 +12,8 @@
  * 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, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * along with this program; if not, you can access it online at
+ * http://www.gnu.org/licenses/gpl-2.0.html.
  *
  * Copyright IBM Corporation, 2008
  *
@@ -27,6 +27,16 @@
 
 #include <linux/cache.h>
 
+static inline unsigned long get_state_synchronize_rcu(void)
+{
+	return 0;
+}
+
+static inline void cond_synchronize_rcu(unsigned long oldstate)
+{
+	might_sleep();
+}
+
 static inline void rcu_barrier_bh(void)
 {
 	wait_rcu_gp(call_rcu_bh);
@@ -68,12 +78,6 @@ static inline void kfree_call_rcu(struct rcu_head *head,
 	call_rcu(head, func);
 }
 
-static inline int rcu_needs_cpu(int cpu, unsigned long *delta_jiffies)
-{
-	*delta_jiffies = ULONG_MAX;
-	return 0;
-}
-
 static inline void rcu_note_context_switch(int cpu)
 {
 	rcu_sched_qs(cpu);
include/linux/rcutree.h +6 -2
index 72137ee..a59ca05 100644
@@ -12,8 +12,8 @@
  * 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, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * along with this program; if not, you can access it online at
+ * http://www.gnu.org/licenses/gpl-2.0.html.
  *
  * Copyright IBM Corporation, 2008
  *
@@ -31,7 +31,9 @@
 #define __LINUX_RCUTREE_H
 
 void rcu_note_context_switch(int cpu);
+#ifndef CONFIG_RCU_NOCB_CPU_ALL
 int rcu_needs_cpu(int cpu, unsigned long *delta_jiffies);
+#endif /* #ifndef CONFIG_RCU_NOCB_CPU_ALL */
 void rcu_cpu_stall_reset(void);
 
 /*
@@ -74,6 +76,8 @@ static inline void synchronize_rcu_bh_expedited(void)
 void rcu_barrier(void);
 void rcu_barrier_bh(void);
 void rcu_barrier_sched(void);
+unsigned long get_state_synchronize_rcu(void);
+void cond_synchronize_rcu(unsigned long oldstate);
 
 extern unsigned long rcutorture_testseq;
 extern unsigned long rcutorture_vernum;
include/linux/srcu.h +2 -2
index 9b058ee..a2783cb 100644
@@ -12,8 +12,8 @@
  * 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, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * 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, 2006
  * Copyright (C) Fujitsu, 2012
include/linux/torture.h new file +100 -0

100 lines not on this page · raw message

kernel/Makefile +1 -0
index bc010ee..5c0e766 100644
@@ -93,6 +93,7 @@ obj-$(CONFIG_PADATA) += padata.o
 obj-$(CONFIG_CRASH_DUMP) += crash_dump.o
 obj-$(CONFIG_JUMP_LABEL) += jump_label.o
 obj-$(CONFIG_CONTEXT_TRACKING) += context_tracking.o
+obj-$(CONFIG_TORTURE_TEST) += torture.o
 
 $(obj)/configs.o: $(obj)/config_data.h
 
kernel/ksysfs.c +2 -0
index d945a94..e660964 100644
@@ -19,6 +19,8 @@
 #include <linux/sched.h>
 #include <linux/capability.h>
 
+#include <linux/rcupdate.h>	/* rcu_expedited */
+
 #define KERNEL_ATTR_RO(_name) \
 static struct kobj_attribute _name##_attr = __ATTR_RO(_name)
 
kernel/locking/Makefile +1 -0
index baab8e5..a28ea6d 100644
@@ -23,3 +23,4 @@ obj-$(CONFIG_DEBUG_SPINLOCK) += spinlock_debug.o
 obj-$(CONFIG_RWSEM_GENERIC_SPINLOCK) += rwsem-spinlock.o
 obj-$(CONFIG_RWSEM_XCHGADD_ALGORITHM) += rwsem-xadd.o
 obj-$(CONFIG_PERCPU_RWSEM) += percpu-rwsem.o
+obj-$(CONFIG_LOCK_TORTURE_TEST) += locktorture.o
kernel/locking/locktorture.c new file +452 -0

452 lines not on this page · raw message

kernel/notifier.c +1 -1
index 2d5cc4c..db4c8b0 100644
@@ -309,7 +309,7 @@ int __blocking_notifier_call_chain(struct blocking_notifier_head *nh,
 	 * racy then it does not matter what the result of the test
 	 * is, we re-check the list after having taken the lock anyway:
 	 */
-	if (rcu_dereference_raw(nh->head)) {
+	if (rcu_access_pointer(nh->head)) {
 		down_read(&nh->rwsem);
 		ret = notifier_call_chain(&nh->head, val, v, nr_to_call,
 					nr_calls);
kernel/rcu/Makefile +1 -1
index 01e9ec3..807ccfb 100644
@@ -1,5 +1,5 @@
 obj-y += update.o srcu.o
-obj-$(CONFIG_RCU_TORTURE_TEST) += torture.o
+obj-$(CONFIG_RCU_TORTURE_TEST) += rcutorture.o
 obj-$(CONFIG_TREE_RCU) += tree.o
 obj-$(CONFIG_TREE_PREEMPT_RCU) += tree.o
 obj-$(CONFIG_TREE_RCU_TRACE) += tree_trace.o
kernel/rcu/rcu.h +3 -4
index 79c3877..bfda272 100644
@@ -12,8 +12,8 @@
  * 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, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * along with this program; if not, you can access it online at
+ * http://www.gnu.org/licenses/gpl-2.0.html.
  *
  * Copyright IBM Corporation, 2011
  *
@@ -23,6 +23,7 @@
 #ifndef __LINUX_RCU_H
 #define __LINUX_RCU_H
 
+#include <trace/events/rcu.h>
 #ifdef CONFIG_RCU_TRACE
 #define RCU_TRACE(stmt) stmt
 #else /* #ifdef CONFIG_RCU_TRACE */
@@ -116,8 +117,6 @@ static inline bool __rcu_reclaim(const char *rn, struct rcu_head *head)
 	}
 }
 
-extern int rcu_expedited;
-
 #ifdef CONFIG_RCU_STALL_COMMON
 
 extern int rcu_cpu_stall_suppress;
kernel/rcu/rcutorture.c renamed from kernel/rcu/torture.c +215 -781

1,464 lines not on this page · raw message

kernel/rcu/srcu.c +5 -6
index 3318d82..c639556 100644
@@ -12,8 +12,8 @@
  * 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, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * 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, 2006
  * Copyright (C) Fujitsu, 2012
@@ -36,8 +36,6 @@
 #include <linux/delay.h>
 #include <linux/srcu.h>
 
-#include <trace/events/rcu.h>
-
 #include "rcu.h"
 
 /*
@@ -398,7 +396,7 @@ void call_srcu(struct srcu_struct *sp, struct rcu_head *head,
 	rcu_batch_queue(&sp->batch_queue, head);
 	if (!sp->running) {
 		sp->running = true;
-		schedule_delayed_work(&sp->work, 0);
+		queue_delayed_work(system_power_efficient_wq, &sp->work, 0);
 	}
 	spin_unlock_irqrestore(&sp->queue_lock, flags);
 }
@@ -674,7 +672,8 @@ static void srcu_reschedule(struct srcu_struct *sp)
 	}
 
 	if (pending)
-		schedule_delayed_work(&sp->work, SRCU_INTERVAL);
+		queue_delayed_work(system_power_efficient_wq,
+				   &sp->work, SRCU_INTERVAL);
 }
 
 /*
kernel/rcu/tiny.c +2 -6
index 1254f31..d9efcc1 100644
@@ -12,8 +12,8 @@
  * 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, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * along with this program; if not, you can access it online at
+ * http://www.gnu.org/licenses/gpl-2.0.html.
  *
  * Copyright IBM Corporation, 2008
  *
@@ -37,10 +37,6 @@
 #include <linux/prefetch.h>
 #include <linux/ftrace_event.h>
 
-#ifdef CONFIG_RCU_TRACE
-#include <trace/events/rcu.h>
-#endif /* #else #ifdef CONFIG_RCU_TRACE */
-
 #include "rcu.h"
 
 /* Forward declarations for tiny_plugin.h. */
kernel/rcu/tiny_plugin.h +2 -2
index 280d06c..4315285 100644
@@ -14,8 +14,8 @@
  * 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, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * along with this program; if not, you can access it online at
+ * http://www.gnu.org/licenses/gpl-2.0.html.
  *
  * Copyright (c) 2010 Linaro
  *
kernel/rcu/tree.c +66 -14

114 lines not on this page · raw message

kernel/rcu/tree.h +2 -2
index 8c19873..75dc3c3 100644

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

kernel/rcu/tree_plugin.h +14 -5
index 6e2ef4b..962d1d5 100644

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

kernel/rcu/tree_trace.c +3 -3
index 4def475..5cdc62e 100644

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

kernel/rcu/update.c +2 -3
index c54609f..4c0a9b0 100644

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

kernel/torture.c new file +719 -0

719 lines not on this page · raw message

lib/Kconfig.debug +20 -0
index a48abea..dd7f885 100644

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

tools/testing/selftests/rcutorture/bin/functions.sh +1 -0
index 587561d..9b17e81 100644

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

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

51 lines not on this page · raw message

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

51 lines not on this page · raw message

tools/testing/selftests/rcutorture/bin/kvm-recheck.sh +10 -3
index baef09f..a44daaa 100755

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

tools/testing/selftests/rcutorture/bin/kvm-test-1-run.sh renamed from tools/testing/selftests/rcutorture/bin/kvm-test-1-rcu.sh +32 -21

53 lines not on this page · raw message

tools/testing/selftests/rcutorture/bin/kvm.sh +239 -37

276 lines not on this page · raw message

tools/testing/selftests/rcutorture/configs/lock/BUSTED new file +6 -0
new file mode 100644
index 0000000..1d1da14

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

tools/testing/selftests/rcutorture/configs/lock/BUSTED.boot new file +1 -0
new file mode 100644
index 0000000..6386c15

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

tools/testing/selftests/rcutorture/configs/lock/CFLIST new file +1 -0
new file mode 100644
index 0000000..a061b22

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

tools/testing/selftests/rcutorture/configs/lock/CFcommon new file +2 -0
new file mode 100644
index 0000000..e372dc2

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

tools/testing/selftests/rcutorture/configs/lock/LOCK01 new file +6 -0
new file mode 100644
index 0000000..a9625e3

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

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

43 lines not on this page · raw message

tools/testing/selftests/rcutorture/configs/rcu/BUSTED new file +7 -0
new file mode 100644
index 0000000..48d8a24

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

tools/testing/selftests/rcutorture/configs/rcu/BUSTED.boot new file +1 -0
new file mode 100644
index 0000000..6804f9d

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

tools/testing/selftests/rcutorture/configs/rcu/CFLIST renamed from tools/testing/selftests/rcutorture/configs/CFLIST +0 -0
similarity index 100%
rename from tools/testing/selftests/rcutorture/configs/CFLIST
rename to tools/testing/selftests/rcutorture/configs/rcu/CFLIST
tools/testing/selftests/rcutorture/configs/rcu/CFcommon new file +2 -0
new file mode 100644
index 0000000..d2d2a86

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

tools/testing/selftests/rcutorture/configs/rcu/SRCU-N renamed from tools/testing/selftests/rcutorture/configs/SRCU-N +1 -2
similarity index 75%
rename from tools/testing/selftests/rcutorture/configs/SRCU-N
rename to tools/testing/selftests/rcutorture/configs/rcu/SRCU-N
index 10a0e27..9fbb41b 100644

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

tools/testing/selftests/rcutorture/configs/rcu/SRCU-N.boot renamed from tools/testing/selftests/rcutorture/configs/SRCU-N.boot +0 -0
similarity index 100%
rename from tools/testing/selftests/rcutorture/configs/SRCU-N.boot
rename to tools/testing/selftests/rcutorture/configs/rcu/SRCU-N.boot
tools/testing/selftests/rcutorture/configs/rcu/SRCU-P renamed from tools/testing/selftests/rcutorture/configs/SRCU-P +0 -1
similarity index 86%
rename from tools/testing/selftests/rcutorture/configs/SRCU-P
rename to tools/testing/selftests/rcutorture/configs/rcu/SRCU-P
index 6650e00..4b6f272 100644

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

tools/testing/selftests/rcutorture/configs/rcu/SRCU-P.boot renamed from tools/testing/selftests/rcutorture/configs/SRCU-P.boot +0 -0
similarity index 100%
rename from tools/testing/selftests/rcutorture/configs/SRCU-P.boot
rename to tools/testing/selftests/rcutorture/configs/rcu/SRCU-P.boot
tools/testing/selftests/rcutorture/configs/rcu/TINY01 renamed from tools/testing/selftests/rcutorture/configs/TINY01 +0 -1
similarity index 92%
rename from tools/testing/selftests/rcutorture/configs/TINY01
rename to tools/testing/selftests/rcutorture/configs/rcu/TINY01
index 0c2823f..0a63e07 100644

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

tools/testing/selftests/rcutorture/configs/rcu/TINY02 renamed from tools/testing/selftests/rcutorture/configs/TINY02 +0 -1
similarity index 92%
rename from tools/testing/selftests/rcutorture/configs/TINY02
rename to tools/testing/selftests/rcutorture/configs/rcu/TINY02
index e5072d7..f4feaee 100644

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

tools/testing/selftests/rcutorture/configs/rcu/TREE01 renamed from tools/testing/selftests/rcutorture/configs/TREE01 +0 -1
similarity index 96%
rename from tools/testing/selftests/rcutorture/configs/TREE01
rename to tools/testing/selftests/rcutorture/configs/rcu/TREE01
index 141119a..9c827ec 100644

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

tools/testing/selftests/rcutorture/configs/rcu/TREE01.boot renamed from tools/testing/selftests/rcutorture/configs/TREE01.boot +0 -0
similarity index 100%
rename from tools/testing/selftests/rcutorture/configs/TREE01.boot
rename to tools/testing/selftests/rcutorture/configs/rcu/TREE01.boot
tools/testing/selftests/rcutorture/configs/rcu/TREE02 renamed from tools/testing/selftests/rcutorture/configs/TREE02 +1 -2
similarity index 92%
rename from tools/testing/selftests/rcutorture/configs/TREE02
rename to tools/testing/selftests/rcutorture/configs/rcu/TREE02
index 2d4d096..1a777b5 100644

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

tools/testing/selftests/rcutorture/configs/rcu/TREE03 renamed from tools/testing/selftests/rcutorture/configs/TREE03 +0 -1
similarity index 96%
rename from tools/testing/selftests/rcutorture/configs/TREE03
rename to tools/testing/selftests/rcutorture/configs/rcu/TREE03
index a47de5b..c1f111c 100644

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

tools/testing/selftests/rcutorture/configs/rcu/TREE04 renamed from tools/testing/selftests/rcutorture/configs/TREE04 +0 -1
similarity index 96%
rename from tools/testing/selftests/rcutorture/configs/TREE04
rename to tools/testing/selftests/rcutorture/configs/rcu/TREE04
index 8d839b8..7dbd27c 100644

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

tools/testing/selftests/rcutorture/configs/rcu/TREE04.boot renamed from tools/testing/selftests/rcutorture/configs/TREE04.boot +0 -0
similarity index 100%
rename from tools/testing/selftests/rcutorture/configs/TREE04.boot
rename to tools/testing/selftests/rcutorture/configs/rcu/TREE04.boot
tools/testing/selftests/rcutorture/configs/rcu/TREE05 renamed from tools/testing/selftests/rcutorture/configs/TREE05 +0 -1
similarity index 96%
rename from tools/testing/selftests/rcutorture/configs/TREE05
rename to tools/testing/selftests/rcutorture/configs/rcu/TREE05
index b5ba72e..d0f32e5 100644

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

tools/testing/selftests/rcutorture/configs/rcu/TREE05.boot renamed from tools/testing/selftests/rcutorture/configs/TREE05.boot +0 -0
similarity index 100%
rename from tools/testing/selftests/rcutorture/configs/TREE05.boot
rename to tools/testing/selftests/rcutorture/configs/rcu/TREE05.boot
tools/testing/selftests/rcutorture/configs/rcu/TREE06 renamed from tools/testing/selftests/rcutorture/configs/TREE06 +0 -1
similarity index 96%
rename from tools/testing/selftests/rcutorture/configs/TREE06
rename to tools/testing/selftests/rcutorture/configs/rcu/TREE06
index 7c95ab4..2e477df 100644

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

tools/testing/selftests/rcutorture/configs/rcu/TREE07 renamed from tools/testing/selftests/rcutorture/configs/TREE07 +0 -1
similarity index 96%
rename from tools/testing/selftests/rcutorture/configs/TREE07
rename to tools/testing/selftests/rcutorture/configs/rcu/TREE07
index 1467404..042f86e 100644

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

tools/testing/selftests/rcutorture/configs/rcu/TREE08 renamed from tools/testing/selftests/rcutorture/configs/TREE08 +0 -1
similarity index 96%
rename from tools/testing/selftests/rcutorture/configs/TREE08
rename to tools/testing/selftests/rcutorture/configs/rcu/TREE08
index 7d097a6..3438cee 100644

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

tools/testing/selftests/rcutorture/configs/rcu/TREE08-T renamed from tools/testing/selftests/rcutorture/configs/TREE08-T +0 -1
similarity index 96%
rename from tools/testing/selftests/rcutorture/configs/TREE08-T
rename to tools/testing/selftests/rcutorture/configs/rcu/TREE08-T
index 442c4e4..bf4523d 100644

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

tools/testing/selftests/rcutorture/configs/rcu/TREE09 renamed from tools/testing/selftests/rcutorture/configs/TREE09 +0 -1
similarity index 95%
rename from tools/testing/selftests/rcutorture/configs/TREE09
rename to tools/testing/selftests/rcutorture/configs/rcu/TREE09
index 0d1ec0d..81e4f7c 100644

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

tools/testing/selftests/rcutorture/configs/rcu/v0.0/CFLIST renamed from tools/testing/selftests/rcutorture/configs/v0.0/CFLIST +0 -0
similarity index 100%
rename from tools/testing/selftests/rcutorture/configs/v0.0/CFLIST
rename to tools/testing/selftests/rcutorture/configs/rcu/v0.0/CFLIST
tools/testing/selftests/rcutorture/configs/rcu/v0.0/N1-S-T-NH-SD-SMP-HP renamed from tools/testing/selftests/rcutorture/configs/v0.0/N1-S-T-NH-SD-SMP-HP +0 -0
similarity index 100%
rename from tools/testing/selftests/rcutorture/configs/v0.0/N1-S-T-NH-SD-SMP-HP
rename to tools/testing/selftests/rcutorture/configs/rcu/v0.0/N1-S-T-NH-SD-SMP-HP
tools/testing/selftests/rcutorture/configs/rcu/v0.0/N2-2-t-nh-sd-SMP-hp renamed from tools/testing/selftests/rcutorture/configs/v0.0/N2-2-t-nh-sd-SMP-hp +0 -0
similarity index 100%
rename from tools/testing/selftests/rcutorture/configs/v0.0/N2-2-t-nh-sd-SMP-hp
rename to tools/testing/selftests/rcutorture/configs/rcu/v0.0/N2-2-t-nh-sd-SMP-hp
tools/testing/selftests/rcutorture/configs/rcu/v0.0/N3-3-T-nh-SD-SMP-hp renamed from tools/testing/selftests/rcutorture/configs/v0.0/N3-3-T-nh-SD-SMP-hp +0 -0
similarity index 100%
rename from tools/testing/selftests/rcutorture/configs/v0.0/N3-3-T-nh-SD-SMP-hp
rename to tools/testing/selftests/rcutorture/configs/rcu/v0.0/N3-3-T-nh-SD-SMP-hp
tools/testing/selftests/rcutorture/configs/rcu/v0.0/N4-A-t-NH-sd-SMP-HP renamed from tools/testing/selftests/rcutorture/configs/v0.0/N4-A-t-NH-sd-SMP-HP +0 -0
similarity index 100%
rename from tools/testing/selftests/rcutorture/configs/v0.0/N4-A-t-NH-sd-SMP-HP
rename to tools/testing/selftests/rcutorture/configs/rcu/v0.0/N4-A-t-NH-sd-SMP-HP
tools/testing/selftests/rcutorture/configs/rcu/v0.0/N5-U-T-NH-sd-SMP-hp renamed from tools/testing/selftests/rcutorture/configs/v0.0/N5-U-T-NH-sd-SMP-hp +0 -0
similarity index 100%
rename from tools/testing/selftests/rcutorture/configs/v0.0/N5-U-T-NH-sd-SMP-hp
rename to tools/testing/selftests/rcutorture/configs/rcu/v0.0/N5-U-T-NH-sd-SMP-hp
tools/testing/selftests/rcutorture/configs/rcu/v0.0/NT1-nh renamed from tools/testing/selftests/rcutorture/configs/v0.0/NT1-nh +0 -0
similarity index 100%
rename from tools/testing/selftests/rcutorture/configs/v0.0/NT1-nh
rename to tools/testing/selftests/rcutorture/configs/rcu/v0.0/NT1-nh
tools/testing/selftests/rcutorture/configs/rcu/v0.0/NT3-NH renamed from tools/testing/selftests/rcutorture/configs/v0.0/NT3-NH +0 -0
similarity index 100%
rename from tools/testing/selftests/rcutorture/configs/v0.0/NT3-NH
rename to tools/testing/selftests/rcutorture/configs/rcu/v0.0/NT3-NH
tools/testing/selftests/rcutorture/configs/rcu/v0.0/P1-S-T-NH-SD-SMP-HP renamed from tools/testing/selftests/rcutorture/configs/v0.0/P1-S-T-NH-SD-SMP-HP +0 -0
similarity index 100%
rename from tools/testing/selftests/rcutorture/configs/v0.0/P1-S-T-NH-SD-SMP-HP
rename to tools/testing/selftests/rcutorture/configs/rcu/v0.0/P1-S-T-NH-SD-SMP-HP
tools/testing/selftests/rcutorture/configs/rcu/v0.0/P2-2-t-nh-sd-SMP-hp renamed from tools/testing/selftests/rcutorture/configs/v0.0/P2-2-t-nh-sd-SMP-hp +0 -0
similarity index 100%
rename from tools/testing/selftests/rcutorture/configs/v0.0/P2-2-t-nh-sd-SMP-hp
rename to tools/testing/selftests/rcutorture/configs/rcu/v0.0/P2-2-t-nh-sd-SMP-hp
tools/testing/selftests/rcutorture/configs/rcu/v0.0/P3-3-T-nh-SD-SMP-hp renamed from tools/testing/selftests/rcutorture/configs/v0.0/P3-3-T-nh-SD-SMP-hp +0 -0
similarity index 100%
rename from tools/testing/selftests/rcutorture/configs/v0.0/P3-3-T-nh-SD-SMP-hp
rename to tools/testing/selftests/rcutorture/configs/rcu/v0.0/P3-3-T-nh-SD-SMP-hp
tools/testing/selftests/rcutorture/configs/rcu/v0.0/P4-A-t-NH-sd-SMP-HP renamed from tools/testing/selftests/rcutorture/configs/v0.0/P4-A-t-NH-sd-SMP-HP +0 -0
similarity index 100%
rename from tools/testing/selftests/rcutorture/configs/v0.0/P4-A-t-NH-sd-SMP-HP
rename to tools/testing/selftests/rcutorture/configs/rcu/v0.0/P4-A-t-NH-sd-SMP-HP
tools/testing/selftests/rcutorture/configs/rcu/v0.0/P5-U-T-NH-sd-SMP-hp renamed from tools/testing/selftests/rcutorture/configs/v0.0/P5-U-T-NH-sd-SMP-hp +0 -0
similarity index 100%
rename from tools/testing/selftests/rcutorture/configs/v0.0/P5-U-T-NH-sd-SMP-hp
rename to tools/testing/selftests/rcutorture/configs/rcu/v0.0/P5-U-T-NH-sd-SMP-hp
tools/testing/selftests/rcutorture/configs/rcu/v0.0/PT1-nh renamed from tools/testing/selftests/rcutorture/configs/v0.0/PT1-nh +0 -0
similarity index 100%
rename from tools/testing/selftests/rcutorture/configs/v0.0/PT1-nh
rename to tools/testing/selftests/rcutorture/configs/rcu/v0.0/PT1-nh
tools/testing/selftests/rcutorture/configs/rcu/v0.0/PT2-NH renamed from tools/testing/selftests/rcutorture/configs/v0.0/PT2-NH +0 -0
similarity index 100%
rename from tools/testing/selftests/rcutorture/configs/v0.0/PT2-NH
rename to tools/testing/selftests/rcutorture/configs/rcu/v0.0/PT2-NH
tools/testing/selftests/rcutorture/configs/rcu/v0.0/ver_functions.sh renamed from tools/testing/selftests/rcutorture/configs/v0.0/ver_functions.sh +10 -12
similarity index 70%
rename from tools/testing/selftests/rcutorture/configs/v0.0/ver_functions.sh
rename to tools/testing/selftests/rcutorture/configs/rcu/v0.0/ver_functions.sh
index e805253..5ace37a 100644

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

tools/testing/selftests/rcutorture/configs/rcu/v3.12/CFLIST renamed from tools/testing/selftests/rcutorture/configs/v3.12/CFLIST +0 -0
similarity index 100%
rename from tools/testing/selftests/rcutorture/configs/v3.12/CFLIST
rename to tools/testing/selftests/rcutorture/configs/rcu/v3.12/CFLIST
tools/testing/selftests/rcutorture/configs/rcu/v3.12/N1-S-T-NH-SD-SMP-HP renamed from tools/testing/selftests/rcutorture/configs/v3.12/N1-S-T-NH-SD-SMP-HP +0 -0
similarity index 100%
rename from tools/testing/selftests/rcutorture/configs/v3.12/N1-S-T-NH-SD-SMP-HP
rename to tools/testing/selftests/rcutorture/configs/rcu/v3.12/N1-S-T-NH-SD-SMP-HP
tools/testing/selftests/rcutorture/configs/rcu/v3.12/N2-2-t-nh-sd-SMP-hp renamed from tools/testing/selftests/rcutorture/configs/v3.12/N2-2-t-nh-sd-SMP-hp +0 -0
similarity index 100%
rename from tools/testing/selftests/rcutorture/configs/v3.12/N2-2-t-nh-sd-SMP-hp
rename to tools/testing/selftests/rcutorture/configs/rcu/v3.12/N2-2-t-nh-sd-SMP-hp
tools/testing/selftests/rcutorture/configs/rcu/v3.12/N3-3-T-nh-SD-SMP-hp renamed from tools/testing/selftests/rcutorture/configs/v3.12/N3-3-T-nh-SD-SMP-hp +0 -0
similarity index 100%
rename from tools/testing/selftests/rcutorture/configs/v3.12/N3-3-T-nh-SD-SMP-hp
rename to tools/testing/selftests/rcutorture/configs/rcu/v3.12/N3-3-T-nh-SD-SMP-hp
tools/testing/selftests/rcutorture/configs/rcu/v3.12/N4-A-t-NH-sd-SMP-HP renamed from tools/testing/selftests/rcutorture/configs/v3.12/N4-A-t-NH-sd-SMP-HP +0 -0
similarity index 100%
rename from tools/testing/selftests/rcutorture/configs/v3.12/N4-A-t-NH-sd-SMP-HP
rename to tools/testing/selftests/rcutorture/configs/rcu/v3.12/N4-A-t-NH-sd-SMP-HP
tools/testing/selftests/rcutorture/configs/rcu/v3.12/N5-U-T-NH-sd-SMP-hp renamed from tools/testing/selftests/rcutorture/configs/v3.12/N5-U-T-NH-sd-SMP-hp +0 -0
similarity index 100%
rename from tools/testing/selftests/rcutorture/configs/v3.12/N5-U-T-NH-sd-SMP-hp
rename to tools/testing/selftests/rcutorture/configs/rcu/v3.12/N5-U-T-NH-sd-SMP-hp
tools/testing/selftests/rcutorture/configs/rcu/v3.12/N6---t-nh-SD-smp-hp renamed from tools/testing/selftests/rcutorture/configs/v3.12/N6---t-nh-SD-smp-hp +0 -0
similarity index 100%
rename from tools/testing/selftests/rcutorture/configs/v3.12/N6---t-nh-SD-smp-hp
rename to tools/testing/selftests/rcutorture/configs/rcu/v3.12/N6---t-nh-SD-smp-hp
tools/testing/selftests/rcutorture/configs/rcu/v3.12/N7-4-T-NH-SD-SMP-HP renamed from tools/testing/selftests/rcutorture/configs/v3.12/N7-4-T-NH-SD-SMP-HP +0 -0
similarity index 100%
rename from tools/testing/selftests/rcutorture/configs/v3.12/N7-4-T-NH-SD-SMP-HP
rename to tools/testing/selftests/rcutorture/configs/rcu/v3.12/N7-4-T-NH-SD-SMP-HP
tools/testing/selftests/rcutorture/configs/rcu/v3.12/N8-2-T-NH-SD-SMP-HP renamed from tools/testing/selftests/rcutorture/configs/v3.12/N8-2-T-NH-SD-SMP-HP +0 -0
similarity index 100%
rename from tools/testing/selftests/rcutorture/configs/v3.12/N8-2-T-NH-SD-SMP-HP
rename to tools/testing/selftests/rcutorture/configs/rcu/v3.12/N8-2-T-NH-SD-SMP-HP
tools/testing/selftests/rcutorture/configs/rcu/v3.12/NT1-nh renamed from tools/testing/selftests/rcutorture/configs/v3.12/NT1-nh +0 -0
similarity index 100%
rename from tools/testing/selftests/rcutorture/configs/v3.12/NT1-nh
rename to tools/testing/selftests/rcutorture/configs/rcu/v3.12/NT1-nh
tools/testing/selftests/rcutorture/configs/rcu/v3.12/NT3-NH renamed from tools/testing/selftests/rcutorture/configs/v3.12/NT3-NH +0 -0
similarity index 100%
rename from tools/testing/selftests/rcutorture/configs/v3.12/NT3-NH
rename to tools/testing/selftests/rcutorture/configs/rcu/v3.12/NT3-NH
tools/testing/selftests/rcutorture/configs/rcu/v3.12/P1-S-T-NH-SD-SMP-HP renamed from tools/testing/selftests/rcutorture/configs/v3.12/P1-S-T-NH-SD-SMP-HP +0 -0
similarity index 100%
rename from tools/testing/selftests/rcutorture/configs/v3.12/P1-S-T-NH-SD-SMP-HP
rename to tools/testing/selftests/rcutorture/configs/rcu/v3.12/P1-S-T-NH-SD-SMP-HP
tools/testing/selftests/rcutorture/configs/rcu/v3.12/P2-2-t-nh-sd-SMP-hp renamed from tools/testing/selftests/rcutorture/configs/v3.12/P2-2-t-nh-sd-SMP-hp +0 -0
similarity index 100%
rename from tools/testing/selftests/rcutorture/configs/v3.12/P2-2-t-nh-sd-SMP-hp
rename to tools/testing/selftests/rcutorture/configs/rcu/v3.12/P2-2-t-nh-sd-SMP-hp
tools/testing/selftests/rcutorture/configs/rcu/v3.12/P3-3-T-nh-SD-SMP-hp renamed from tools/testing/selftests/rcutorture/configs/v3.12/P3-3-T-nh-SD-SMP-hp +0 -0
similarity index 100%
rename from tools/testing/selftests/rcutorture/configs/v3.12/P3-3-T-nh-SD-SMP-hp
rename to tools/testing/selftests/rcutorture/configs/rcu/v3.12/P3-3-T-nh-SD-SMP-hp
tools/testing/selftests/rcutorture/configs/rcu/v3.12/P4-A-t-NH-sd-SMP-HP renamed from tools/testing/selftests/rcutorture/configs/v3.12/P4-A-t-NH-sd-SMP-HP +0 -0
similarity index 100%
rename from tools/testing/selftests/rcutorture/configs/v3.12/P4-A-t-NH-sd-SMP-HP
rename to tools/testing/selftests/rcutorture/configs/rcu/v3.12/P4-A-t-NH-sd-SMP-HP
tools/testing/selftests/rcutorture/configs/rcu/v3.12/P5-U-T-NH-sd-SMP-hp renamed from tools/testing/selftests/rcutorture/configs/v3.12/P5-U-T-NH-sd-SMP-hp +0 -0
similarity index 100%
rename from tools/testing/selftests/rcutorture/configs/v3.12/P5-U-T-NH-sd-SMP-hp
rename to tools/testing/selftests/rcutorture/configs/rcu/v3.12/P5-U-T-NH-sd-SMP-hp
tools/testing/selftests/rcutorture/configs/rcu/v3.12/P6---t-nh-SD-smp-hp renamed from tools/testing/selftests/rcutorture/configs/v3.12/P6---t-nh-SD-smp-hp +0 -0
similarity index 100%
rename from tools/testing/selftests/rcutorture/configs/v3.12/P6---t-nh-SD-smp-hp
rename to tools/testing/selftests/rcutorture/configs/rcu/v3.12/P6---t-nh-SD-smp-hp
tools/testing/selftests/rcutorture/configs/rcu/v3.12/P7-4-T-NH-SD-SMP-HP renamed from tools/testing/selftests/rcutorture/configs/v3.12/P7-4-T-NH-SD-SMP-HP +0 -0
similarity index 100%
rename from tools/testing/selftests/rcutorture/configs/v3.12/P7-4-T-NH-SD-SMP-HP
rename to tools/testing/selftests/rcutorture/configs/rcu/v3.12/P7-4-T-NH-SD-SMP-HP
tools/testing/selftests/rcutorture/configs/rcu/v3.12/P7-4-T-NH-SD-SMP-HP-all renamed from tools/testing/selftests/rcutorture/configs/v3.12/P7-4-T-NH-SD-SMP-HP-all +0 -0
similarity index 100%
rename from tools/testing/selftests/rcutorture/configs/v3.12/P7-4-T-NH-SD-SMP-HP-all
rename to tools/testing/selftests/rcutorture/configs/rcu/v3.12/P7-4-T-NH-SD-SMP-HP-all
tools/testing/selftests/rcutorture/configs/rcu/v3.12/P7-4-T-NH-SD-SMP-HP-none renamed from tools/testing/selftests/rcutorture/configs/v3.12/P7-4-T-NH-SD-SMP-HP-none +0 -0
similarity index 100%
rename from tools/testing/selftests/rcutorture/configs/v3.12/P7-4-T-NH-SD-SMP-HP-none
rename to tools/testing/selftests/rcutorture/configs/rcu/v3.12/P7-4-T-NH-SD-SMP-HP-none
tools/testing/selftests/rcutorture/configs/rcu/v3.12/P7-4-T-NH-SD-SMP-hp renamed from tools/testing/selftests/rcutorture/configs/v3.12/P7-4-T-NH-SD-SMP-hp +0 -0
similarity index 100%
rename from tools/testing/selftests/rcutorture/configs/v3.12/P7-4-T-NH-SD-SMP-hp
rename to tools/testing/selftests/rcutorture/configs/rcu/v3.12/P7-4-T-NH-SD-SMP-hp
tools/testing/selftests/rcutorture/configs/rcu/v3.12/PT1-nh renamed from tools/testing/selftests/rcutorture/configs/v3.12/PT1-nh +0 -0
similarity index 100%
rename from tools/testing/selftests/rcutorture/configs/v3.12/PT1-nh
rename to tools/testing/selftests/rcutorture/configs/rcu/v3.12/PT1-nh
tools/testing/selftests/rcutorture/configs/rcu/v3.12/PT2-NH renamed from tools/testing/selftests/rcutorture/configs/v3.12/PT2-NH +0 -0
similarity index 100%
rename from tools/testing/selftests/rcutorture/configs/v3.12/PT2-NH
rename to tools/testing/selftests/rcutorture/configs/rcu/v3.12/PT2-NH
tools/testing/selftests/rcutorture/configs/rcu/v3.3/CFLIST renamed from tools/testing/selftests/rcutorture/configs/v3.3/CFLIST +0 -0
similarity index 100%
rename from tools/testing/selftests/rcutorture/configs/v3.3/CFLIST
rename to tools/testing/selftests/rcutorture/configs/rcu/v3.3/CFLIST
tools/testing/selftests/rcutorture/configs/rcu/v3.3/N1-S-T-NH-SD-SMP-HP renamed from tools/testing/selftests/rcutorture/configs/v3.3/N1-S-T-NH-SD-SMP-HP +0 -0
similarity index 100%
rename from tools/testing/selftests/rcutorture/configs/v3.3/N1-S-T-NH-SD-SMP-HP
rename to tools/testing/selftests/rcutorture/configs/rcu/v3.3/N1-S-T-NH-SD-SMP-HP
tools/testing/selftests/rcutorture/configs/rcu/v3.3/N2-2-t-nh-sd-SMP-hp renamed from tools/testing/selftests/rcutorture/configs/v3.3/N2-2-t-nh-sd-SMP-hp +0 -0
similarity index 100%
rename from tools/testing/selftests/rcutorture/configs/v3.3/N2-2-t-nh-sd-SMP-hp
rename to tools/testing/selftests/rcutorture/configs/rcu/v3.3/N2-2-t-nh-sd-SMP-hp
tools/testing/selftests/rcutorture/configs/rcu/v3.3/N3-3-T-nh-SD-SMP-hp renamed from tools/testing/selftests/rcutorture/configs/v3.3/N3-3-T-nh-SD-SMP-hp +0 -0
similarity index 100%
rename from tools/testing/selftests/rcutorture/configs/v3.3/N3-3-T-nh-SD-SMP-hp
rename to tools/testing/selftests/rcutorture/configs/rcu/v3.3/N3-3-T-nh-SD-SMP-hp
tools/testing/selftests/rcutorture/configs/rcu/v3.3/N4-A-t-NH-sd-SMP-HP renamed from tools/testing/selftests/rcutorture/configs/v3.3/N4-A-t-NH-sd-SMP-HP +0 -0
similarity index 100%
rename from tools/testing/selftests/rcutorture/configs/v3.3/N4-A-t-NH-sd-SMP-HP
rename to tools/testing/selftests/rcutorture/configs/rcu/v3.3/N4-A-t-NH-sd-SMP-HP
tools/testing/selftests/rcutorture/configs/rcu/v3.3/N5-U-T-NH-sd-SMP-hp renamed from tools/testing/selftests/rcutorture/configs/v3.3/N5-U-T-NH-sd-SMP-hp +0 -0
similarity index 100%
rename from tools/testing/selftests/rcutorture/configs/v3.3/N5-U-T-NH-sd-SMP-hp
rename to tools/testing/selftests/rcutorture/configs/rcu/v3.3/N5-U-T-NH-sd-SMP-hp
tools/testing/selftests/rcutorture/configs/rcu/v3.3/NT1-nh renamed from tools/testing/selftests/rcutorture/configs/v3.3/NT1-nh +0 -0
similarity index 100%
rename from tools/testing/selftests/rcutorture/configs/v3.3/NT1-nh
rename to tools/testing/selftests/rcutorture/configs/rcu/v3.3/NT1-nh
tools/testing/selftests/rcutorture/configs/rcu/v3.3/NT3-NH renamed from tools/testing/selftests/rcutorture/configs/v3.3/NT3-NH +0 -0
similarity index 100%
rename from tools/testing/selftests/rcutorture/configs/v3.3/NT3-NH
rename to tools/testing/selftests/rcutorture/configs/rcu/v3.3/NT3-NH
tools/testing/selftests/rcutorture/configs/rcu/v3.3/P1-S-T-NH-SD-SMP-HP renamed from tools/testing/selftests/rcutorture/configs/v3.3/P1-S-T-NH-SD-SMP-HP +0 -0
similarity index 100%
rename from tools/testing/selftests/rcutorture/configs/v3.3/P1-S-T-NH-SD-SMP-HP
rename to tools/testing/selftests/rcutorture/configs/rcu/v3.3/P1-S-T-NH-SD-SMP-HP
tools/testing/selftests/rcutorture/configs/rcu/v3.3/P2-2-t-nh-sd-SMP-hp renamed from tools/testing/selftests/rcutorture/configs/v3.3/P2-2-t-nh-sd-SMP-hp +0 -0
similarity index 100%
rename from tools/testing/selftests/rcutorture/configs/v3.3/P2-2-t-nh-sd-SMP-hp
rename to tools/testing/selftests/rcutorture/configs/rcu/v3.3/P2-2-t-nh-sd-SMP-hp
tools/testing/selftests/rcutorture/configs/rcu/v3.3/P3-3-T-nh-SD-SMP-hp renamed from tools/testing/selftests/rcutorture/configs/v3.3/P3-3-T-nh-SD-SMP-hp +0 -0
similarity index 100%
rename from tools/testing/selftests/rcutorture/configs/v3.3/P3-3-T-nh-SD-SMP-hp
rename to tools/testing/selftests/rcutorture/configs/rcu/v3.3/P3-3-T-nh-SD-SMP-hp
tools/testing/selftests/rcutorture/configs/rcu/v3.3/P4-A-t-NH-sd-SMP-HP renamed from tools/testing/selftests/rcutorture/configs/v3.3/P4-A-t-NH-sd-SMP-HP +0 -0
similarity index 100%
rename from tools/testing/selftests/rcutorture/configs/v3.3/P4-A-t-NH-sd-SMP-HP
rename to tools/testing/selftests/rcutorture/configs/rcu/v3.3/P4-A-t-NH-sd-SMP-HP
tools/testing/selftests/rcutorture/configs/rcu/v3.3/P5-U-T-NH-sd-SMP-hp renamed from tools/testing/selftests/rcutorture/configs/v3.3/P5-U-T-NH-sd-SMP-hp +0 -0
similarity index 100%
rename from tools/testing/selftests/rcutorture/configs/v3.3/P5-U-T-NH-sd-SMP-hp
rename to tools/testing/selftests/rcutorture/configs/rcu/v3.3/P5-U-T-NH-sd-SMP-hp
tools/testing/selftests/rcutorture/configs/rcu/v3.3/PT1-nh renamed from tools/testing/selftests/rcutorture/configs/v3.3/PT1-nh +0 -0
similarity index 100%
rename from tools/testing/selftests/rcutorture/configs/v3.3/PT1-nh
rename to tools/testing/selftests/rcutorture/configs/rcu/v3.3/PT1-nh
tools/testing/selftests/rcutorture/configs/rcu/v3.3/PT2-NH renamed from tools/testing/selftests/rcutorture/configs/v3.3/PT2-NH +0 -0
similarity index 100%
rename from tools/testing/selftests/rcutorture/configs/v3.3/PT2-NH
rename to tools/testing/selftests/rcutorture/configs/rcu/v3.3/PT2-NH
tools/testing/selftests/rcutorture/configs/rcu/v3.3/ver_functions.sh renamed from tools/testing/selftests/rcutorture/configs/ver_functions.sh +13 -15
similarity index 72%
rename from tools/testing/selftests/rcutorture/configs/ver_functions.sh
rename to tools/testing/selftests/rcutorture/configs/rcu/v3.3/ver_functions.sh
index 5e40ead..bae5569 100644

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

tools/testing/selftests/rcutorture/configs/rcu/v3.5/CFLIST renamed from tools/testing/selftests/rcutorture/configs/v3.5/CFLIST +0 -0
similarity index 100%
rename from tools/testing/selftests/rcutorture/configs/v3.5/CFLIST
rename to tools/testing/selftests/rcutorture/configs/rcu/v3.5/CFLIST
tools/testing/selftests/rcutorture/configs/rcu/v3.5/N1-S-T-NH-SD-SMP-HP renamed from tools/testing/selftests/rcutorture/configs/v3.5/N1-S-T-NH-SD-SMP-HP +0 -0
similarity index 100%
rename from tools/testing/selftests/rcutorture/configs/v3.5/N1-S-T-NH-SD-SMP-HP
rename to tools/testing/selftests/rcutorture/configs/rcu/v3.5/N1-S-T-NH-SD-SMP-HP
tools/testing/selftests/rcutorture/configs/rcu/v3.5/N2-2-t-nh-sd-SMP-hp renamed from tools/testing/selftests/rcutorture/configs/v3.5/N2-2-t-nh-sd-SMP-hp +0 -0
similarity index 100%
rename from tools/testing/selftests/rcutorture/configs/v3.5/N2-2-t-nh-sd-SMP-hp
rename to tools/testing/selftests/rcutorture/configs/rcu/v3.5/N2-2-t-nh-sd-SMP-hp
tools/testing/selftests/rcutorture/configs/rcu/v3.5/N3-3-T-nh-SD-SMP-hp renamed from tools/testing/selftests/rcutorture/configs/v3.5/N3-3-T-nh-SD-SMP-hp +0 -0
similarity index 100%
rename from tools/testing/selftests/rcutorture/configs/v3.5/N3-3-T-nh-SD-SMP-hp
rename to tools/testing/selftests/rcutorture/configs/rcu/v3.5/N3-3-T-nh-SD-SMP-hp
tools/testing/selftests/rcutorture/configs/rcu/v3.5/N4-A-t-NH-sd-SMP-HP renamed from tools/testing/selftests/rcutorture/configs/v3.5/N4-A-t-NH-sd-SMP-HP +0 -0
similarity index 100%
rename from tools/testing/selftests/rcutorture/configs/v3.5/N4-A-t-NH-sd-SMP-HP
rename to tools/testing/selftests/rcutorture/configs/rcu/v3.5/N4-A-t-NH-sd-SMP-HP
tools/testing/selftests/rcutorture/configs/rcu/v3.5/N5-U-T-NH-sd-SMP-hp renamed from tools/testing/selftests/rcutorture/configs/v3.5/N5-U-T-NH-sd-SMP-hp +0 -0
similarity index 100%
rename from tools/testing/selftests/rcutorture/configs/v3.5/N5-U-T-NH-sd-SMP-hp
rename to tools/testing/selftests/rcutorture/configs/rcu/v3.5/N5-U-T-NH-sd-SMP-hp
tools/testing/selftests/rcutorture/configs/rcu/v3.5/NT1-nh renamed from tools/testing/selftests/rcutorture/configs/v3.5/NT1-nh +0 -0
similarity index 100%
rename from tools/testing/selftests/rcutorture/configs/v3.5/NT1-nh
rename to tools/testing/selftests/rcutorture/configs/rcu/v3.5/NT1-nh
tools/testing/selftests/rcutorture/configs/rcu/v3.5/NT3-NH renamed from tools/testing/selftests/rcutorture/configs/v3.5/NT3-NH +0 -0
similarity index 100%
rename from tools/testing/selftests/rcutorture/configs/v3.5/NT3-NH
rename to tools/testing/selftests/rcutorture/configs/rcu/v3.5/NT3-NH
tools/testing/selftests/rcutorture/configs/rcu/v3.5/P1-S-T-NH-SD-SMP-HP renamed from tools/testing/selftests/rcutorture/configs/v3.5/P1-S-T-NH-SD-SMP-HP +0 -0
similarity index 100%
rename from tools/testing/selftests/rcutorture/configs/v3.5/P1-S-T-NH-SD-SMP-HP
rename to tools/testing/selftests/rcutorture/configs/rcu/v3.5/P1-S-T-NH-SD-SMP-HP
tools/testing/selftests/rcutorture/configs/rcu/v3.5/P2-2-t-nh-sd-SMP-hp renamed from tools/testing/selftests/rcutorture/configs/v3.5/P2-2-t-nh-sd-SMP-hp +0 -0
similarity index 100%
rename from tools/testing/selftests/rcutorture/configs/v3.5/P2-2-t-nh-sd-SMP-hp
rename to tools/testing/selftests/rcutorture/configs/rcu/v3.5/P2-2-t-nh-sd-SMP-hp
tools/testing/selftests/rcutorture/configs/rcu/v3.5/P3-3-T-nh-SD-SMP-hp renamed from tools/testing/selftests/rcutorture/configs/v3.5/P3-3-T-nh-SD-SMP-hp +0 -0
similarity index 100%
rename from tools/testing/selftests/rcutorture/configs/v3.5/P3-3-T-nh-SD-SMP-hp
rename to tools/testing/selftests/rcutorture/configs/rcu/v3.5/P3-3-T-nh-SD-SMP-hp
tools/testing/selftests/rcutorture/configs/rcu/v3.5/P4-A-t-NH-sd-SMP-HP renamed from tools/testing/selftests/rcutorture/configs/v3.5/P4-A-t-NH-sd-SMP-HP +0 -0
similarity index 100%
rename from tools/testing/selftests/rcutorture/configs/v3.5/P4-A-t-NH-sd-SMP-HP
rename to tools/testing/selftests/rcutorture/configs/rcu/v3.5/P4-A-t-NH-sd-SMP-HP
tools/testing/selftests/rcutorture/configs/rcu/v3.5/P5-U-T-NH-sd-SMP-hp renamed from tools/testing/selftests/rcutorture/configs/v3.5/P5-U-T-NH-sd-SMP-hp +0 -0
similarity index 100%
rename from tools/testing/selftests/rcutorture/configs/v3.5/P5-U-T-NH-sd-SMP-hp
rename to tools/testing/selftests/rcutorture/configs/rcu/v3.5/P5-U-T-NH-sd-SMP-hp
tools/testing/selftests/rcutorture/configs/rcu/v3.5/PT1-nh renamed from tools/testing/selftests/rcutorture/configs/v3.5/PT1-nh +0 -0
similarity index 100%
rename from tools/testing/selftests/rcutorture/configs/v3.5/PT1-nh
rename to tools/testing/selftests/rcutorture/configs/rcu/v3.5/PT1-nh
tools/testing/selftests/rcutorture/configs/rcu/v3.5/PT2-NH renamed from tools/testing/selftests/rcutorture/configs/v3.5/PT2-NH +0 -0
similarity index 100%
rename from tools/testing/selftests/rcutorture/configs/v3.5/PT2-NH
rename to tools/testing/selftests/rcutorture/configs/rcu/v3.5/PT2-NH
tools/testing/selftests/rcutorture/configs/rcu/v3.5/ver_functions.sh renamed from tools/testing/selftests/rcutorture/configs/v3.5/ver_functions.sh +17 -6
similarity index 69%
rename from tools/testing/selftests/rcutorture/configs/v3.5/ver_functions.sh
rename to tools/testing/selftests/rcutorture/configs/rcu/v3.5/ver_functions.sh
index 6a5f13a..8977d8d 100644

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

tools/testing/selftests/rcutorture/configs/rcu/ver_functions.sh renamed from tools/testing/selftests/rcutorture/configs/v3.3/ver_functions.sh +21 -5
similarity index 66%
rename from tools/testing/selftests/rcutorture/configs/v3.3/ver_functions.sh
rename to tools/testing/selftests/rcutorture/configs/rcu/ver_functions.sh
index c37432f..8977d8d 100644

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

tools/testing/selftests/rcutorture/doc/TREE_RCU-kconfig.txt renamed from tools/testing/selftests/rcutorture/doc/TREE_RCU-Kconfig.txt +0 -0
similarity index 100%
rename from tools/testing/selftests/rcutorture/doc/TREE_RCU-Kconfig.txt
rename to tools/testing/selftests/rcutorture/doc/TREE_RCU-kconfig.txt

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

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

#1 lore raw
Quoted 3 lines

Paul E. McKenney (70):
[...]
locktorture: Add a lock-torture kernel module

This commit added a check for CONFIG_LOCK_TORTURE_TEST_RUNNABLE. But I can't find a Kconfig symbol LOCK_TORTURE_TEST_RUNNABLE nor a preprocessor define for CONFIG_LOCK_TORTURE_TEST_RUNNABLE. (I only checked master of Linus's tree and linux-next.)

Is this check for CONFIG_LOCK_TORTURE_TEST_RUNNABLE needed?

Paul Bolle

#2 lore raw
Quoted 10 lines · Paul Bolle
Quoted 3 lines

Paul E. McKenney (70):
[...]
locktorture: Add a lock-torture kernel module

This commit added a check for CONFIG_LOCK_TORTURE_TEST_RUNNABLE. But I can't find a Kconfig symbol LOCK_TORTURE_TEST_RUNNABLE nor a preprocessor define for CONFIG_LOCK_TORTURE_TEST_RUNNABLE. (I only checked master of Linus's tree and linux-next.)

Is this check for CONFIG_LOCK_TORTURE_TEST_RUNNABLE needed?

My bad. My current tests use the boot parameter rather than relying on the Kconfig parameter, so I missed this bug. I will of course fix it. I don't believe that this is particularly urgent, so unless someone tells me otherwise, I will queue the fix for 3.16.

Thanx, Paul

#3 lore raw
Quoted 2 lines · Paul E. McKenney

I don't believe that this is particularly urgent, so unless someone tells me otherwise, I will queue the fix for 3.16.

Few people share my OCD for Kconfig symbols. So most people will not think this is urgent. On the other hand, why wait three to four months when this can be cleaned up in a few weeks?

Thanks,

Paul Bolle

#4 lore raw
Quoted 7 lines · Paul Bolle
Quoted 2 lines · Paul E. McKenney

I don't believe that this is particularly urgent, so unless someone tells me otherwise, I will queue the fix for 3.16.

Few people share my OCD for Kconfig symbols. So most people will not think this is urgent. On the other hand, why wait three to four months when this can be cleaned up in a few weeks?

Because I need to decide whether the right fix is to add the LOCK_TORTURE_RUNNABLE or to remove the RCU_TORTURE_RUNNABLE. ;-)

My kneejerk reaction was the former, but I am leaning towards the latter. Shrinks the code a bit, gets rid of a Kconfig parameter and only requires changes in scripts for a few people using rcutorture...

Thanx, Paul