[GIT PULL rcu/next] RCU commits for 4.2

From: Paul E. McKenney
Date: Sun May 31 2015 - 00:49:00 EST


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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/