Hello, Ingo, The changes in this series include the following:
1. Remove all uses of RCU-protected array indexes. These were posted to LKML at https://lkml.org/lkml/2015/5/12/827. 2. Documentation updates. These were posted to LKML at https://lkml.org/lkml/2015/5/12/848. 3. Miscellaneous fixes. These were posted to LKML at https://lkml.org/lkml/2015/5/12/876. 4. CPU-hotplug updates. These were posted to LKML at https://lkml.org/lkml/2015/5/12/880. 5. Initialization/Kconfig updates. These were posted to LKML at https://lkml.org/lkml/2015/5/12/918, however, the updates to Tree RCU's initialization have been deferred to 4.3. 6. Updates to Tiny RCU. These were posted to LKML at https://lkml.org/lkml/2015/5/12/957. 7. Torture-testing updates. These were posted to LKML at https://lkml.org/lkml/2015/5/12/964. All of these changes have been subjected to -next testing, and are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git for-mingo for you to fetch changes up to 0868aa22167d93dd974c253d259c3e6fd47a16c8: Merge branches 'array.2015.05.27a', 'doc.2015.05.27a', 'fixes.2015.05.27a', 'hotplug.2015.05.27a', 'init.2015.05.27a', 'tiny.2015.05.27a' and 'torture.2015.05.27a' into HEAD (2015-05-27 13:00:49 -0700) ---------------------------------------------------------------- Alexey Kodanev (1): locktorture: fix deadlock in 'rw_lock_irq' type Joe Perches (1): rcu: tree_plugin: Use bool function return values of true/false not 1/0 Milos Vyletel (1): documentation: State that rcu_dereference() reloads pointer Nicholas Mc Guire (1): rcu: Change function declaration to bool Nicolas Iooss (1): rcu: Make rcu_*_data variables static Patrick Daly (1): rcu: Fix missing task information during rcu-preempt stall Paul E. McKenney (51): rcu: Convert ACCESS_ONCE() to READ_ONCE() and WRITE_ONCE() mce: Stop using array-index-based RCU primitives rcu: Eliminate array-index-based RCU primitives documentation: RCU-protected array indexes no longer supported mce: mce_chrdev_write() can be static documentation: Update rcu_dereference.txt based on WG21 discussions rcu: Convert from rcu_preempt_state to *rcu_state_p rcu: Eliminate a few RCU_BOOST #ifdefs in favor of IS_ENABLED() rcu: Tell the compiler that rcu_state_p is immutable rcu: Create an immutable rcu_data_p pointer to default rcu_data structure rcu: Eliminate a few CONFIG_RCU_NOCB_CPU_ALL #ifdefs rcu: Force wakeup of rcu_gp_kthread at grace-period end powerpc: Fix smp_mb__before_spinlock() rcu: Add more debug info on "kthread starved" RCU CPU stall warnings smp: Make control dependencies work on Alpha, improve documentation rcu: Make synchronize_sched_expedited() call wait_rcu_gp() rcu: Eliminate HOTPLUG_CPU #ifdef in favor of IS_ENABLED() rcu: Adjust ->lock acquisition for tasks no longer migrating rcu: Remove dead code from force_qs_rnp() rcu: Remove redundant offline check rcu: Correctly initialize ->rcu_qs_ctr_snap at online time cpu: Handle smpboot_unpark_threads() uniformly rcu: Modulate grace-period slow init to normalize delay rcu: Shut up spurious gcc uninitialized-variable warning rcu: Provide diagnostic option to slow down grace-period scans rcu: Directly drive TASKS_RCU from Kconfig rcu: Directly drive RCU_USER_QS from Kconfig rcu: Convert CONFIG_RCU_FANOUT_EXACT to boot parameter rcu: Enable diagnostic dump of rcu_node combining tree rcu: Create RCU_EXPERT Kconfig and hide booleans behind it rcu: Break dependency of RCU_FANOUT_LEAF on RCU_FANOUT rcu: Make RCU able to tolerate undefined CONFIG_RCU_FANOUT rcu: Make RCU able to tolerate undefined CONFIG_RCU_FANOUT_LEAF rcu: Make RCU able to tolerate undefined CONFIG_RCU_KTHREAD_PRIO rcu: Conditionally compile RCU's eqs warnings rcu: Further shrink Tiny RCU by making empty functions static inlines rcutorture: Test both RCU-sched and RCU-bh for Tiny RCU rcu: Correctly handle non-empty Tiny RCU callback list with none ready rcutorture: Exchange TREE03 and TREE04 geometries rcutorture: Exchange TREE03 and TREE08 NR_CPUS, speed up CPU hotplug rcutorture: Allow negative values of nreaders to oversubscribe locktorture: Change longdelay_us to longdelay_ms rcutorture: Replace barriers with smp_store_release() and smp_load_acquire() rcutorture: Test SRCU cleanup code path rcutorture: TASKS_RCU set directly, so don't explicitly set it rcutorture: Update configuration fragments for rcutree.rcu_fanout_exact rcutorture: Make rcutorture scripts force RCU_EXPERT rcutorture: Update TREE_RCU-kconfig.txt rcutorture: Display "make oldconfig" errors rcutorture: Allow repetition factors in Kconfig-fragment lists Merge branches 'array.2015.05.27a', 'doc.2015.05.27a', 'fixes.2015.05.27a', 'hotplug.2015.05.27a', 'init.2015.05.27a', 'tiny.2015.05.27a' and 'torture.2015.05.27a' into HEAD Paul Gortmaker (1): cpu: Remove new instance of __cpuinit that crept back in Pranith Kumar (1): rcu: Remove prompt for RCU implementation Will Deacon (1): documentation: memory-barriers: Fix smp_mb__before_spinlock() semantics Ying Xue (1): rculist: Fix another sparse warning Documentation/RCU/arrayRCU.txt | 20 +- Documentation/RCU/lockdep.txt | 10 - Documentation/RCU/rcu_dereference.txt | 38 +-- Documentation/RCU/whatisRCU.txt | 6 +- Documentation/kernel-parameters.txt | 33 +- Documentation/memory-barriers.txt | 62 ++-- arch/powerpc/include/asm/barrier.h | 1 + arch/x86/kernel/cpu/mcheck/mce.c | 15 +- include/linux/compiler.h | 16 + include/linux/rculist.h | 10 +- include/linux/rcupdate.h | 70 +--- include/linux/rcutiny.h | 16 + include/linux/rcutree.h | 7 +- include/linux/spinlock.h | 2 +- init/Kconfig | 72 ++-- kernel/cpu.c | 4 +- kernel/events/ring_buffer.c | 2 +- kernel/locking/locktorture.c | 14 +- kernel/rcu/rcutorture.c | 103 ++++-- kernel/rcu/srcu.c | 10 +- kernel/rcu/tiny.c | 38 +-- kernel/rcu/tiny_plugin.h | 12 +- kernel/rcu/tree.c | 365 ++++++++++++--------- kernel/rcu/tree.h | 35 +- kernel/rcu/tree_plugin.h | 216 ++++++------ kernel/rcu/tree_trace.c | 6 +- kernel/rcu/update.c | 30 +- kernel/torture.c | 26 +- lib/Kconfig.debug | 66 +++- .../testing/selftests/rcutorture/bin/configinit.sh | 2 +- .../selftests/rcutorture/bin/kvm-recheck.sh | 4 + tools/testing/selftests/rcutorture/bin/kvm.sh | 25 +- .../selftests/rcutorture/configs/rcu/CFcommon | 2 + .../selftests/rcutorture/configs/rcu/SRCU-N | 1 + .../selftests/rcutorture/configs/rcu/SRCU-P | 1 + .../selftests/rcutorture/configs/rcu/SRCU-P.boot | 2 +- .../selftests/rcutorture/configs/rcu/TASKS01 | 5 +- .../selftests/rcutorture/configs/rcu/TASKS02 | 1 - .../selftests/rcutorture/configs/rcu/TASKS03 | 2 +- .../selftests/rcutorture/configs/rcu/TINY02 | 2 +- .../selftests/rcutorture/configs/rcu/TINY02.boot | 1 + .../selftests/rcutorture/configs/rcu/TREE01 | 1 + .../selftests/rcutorture/configs/rcu/TREE02 | 2 +- .../selftests/rcutorture/configs/rcu/TREE02-T | 1 - .../selftests/rcutorture/configs/rcu/TREE03 | 8 +- .../selftests/rcutorture/configs/rcu/TREE03.boot | 1 + .../selftests/rcutorture/configs/rcu/TREE04 | 8 +- .../selftests/rcutorture/configs/rcu/TREE05 | 4 +- .../selftests/rcutorture/configs/rcu/TREE06 | 4 +- .../selftests/rcutorture/configs/rcu/TREE06.boot | 1 + .../selftests/rcutorture/configs/rcu/TREE07 | 4 +- .../selftests/rcutorture/configs/rcu/TREE08 | 6 +- .../selftests/rcutorture/configs/rcu/TREE08-T | 1 - .../selftests/rcutorture/configs/rcu/TREE08-T.boot | 1 + .../selftests/rcutorture/configs/rcu/TREE08.boot | 1 + .../selftests/rcutorture/configs/rcu/TREE09 | 1 + .../selftests/rcutorture/doc/TREE_RCU-kconfig.txt | 36 +- 57 files changed, 809 insertions(+), 624 deletions(-) create mode 100644 tools/testing/selftests/rcutorture/configs/rcu/TREE03.boot create mode 100644 tools/testing/selftests/rcutorture/configs/rcu/TREE08-T.boot -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/