[GIT PULL rcu/next] RCU commits for 4.4

From: Paul E. McKenney
Date: Sat Oct 17 2015 - 20:06:15 EST


Hello, Ingo,

The changes in this series include the following:

1. Miscellaneous fixes. These were posted to LKML at
https://lkml.org/lkml/2015/10/6/496.

2. Improvements to expedited grace periods. These were posted to
LKML at https://lkml.org/lkml/2015/10/6/541.

3. Documentation updates. These were posted to LKML at
https://lkml.org/lkml/2015/10/6/560.

4. Performance improvements to and locktorture tests for percpu-rwsem.
These were posted to LKML at https://lkml.org/lkml/2015/10/6/576.

5. Torture-test changes. These were posted to LKML at
https://lkml.org/lkml/2015/10/6/590.

All of these changes have been subjected to 0day Test Robot and -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 39cd2dd39a8b92ce91c4dad95f6e979c946a3942:

Merge branches 'doc.2015.10.06a', 'percpu-rwsem.2015.10.06a' and 'torture.2015.10.06a' into HEAD (2015-10-07 16:06:25 -0700)

----------------------------------------------------------------
Boqun Feng (3):
rcu: Use rcu_callback_t in call_rcu*() and friends
rcu: Use call_rcu_func_t to replace explicit type equivalents
rcu: Don't disable preemption for Tiny and Tree RCU readers

Davidlohr Bueso (2):
sched: Export sched_setscheduler_nocheck
locktorture: Support rtmutex torturing

Jason A. Donenfeld (1):
documentation: Correct doc to use rcu_dereference_protected

Oleg Nesterov (9):
rcu: Create rcu_sync infrastructure
rcu_sync: Simplify rcu_sync using new rcu_sync_ops structure
rcu_sync: Add CONFIG_PROVE_RCU checks
rcu_sync: Introduce rcu_sync_dtor()
locking/percpu-rwsem: Make percpu_free_rwsem() after kzalloc() safe
locking/percpu-rwsem: Make use of the rcu_sync infrastructure
locking/percpu-rwsem: Fix the comments outdated by rcu_sync
locking/percpu-rwsem: Clean up the lockdep annotations in percpu_down_read()
rcu_sync: Cleanup the CONFIG_PROVE_RCU checks

Patrick Marlier (1):
rculist: Make list_entry_rcu() use lockless_dereference()

Paul E. McKenney (38):
rcu: Use rsp->expedited_wq instead of sync_rcu_preempt_exp_wq
rcu: Move rcu_report_exp_rnp() to allow consolidation
rcu: Consolidate tree setup for synchronize_rcu_expedited()
rcu: Use single-stage IPI algorithm for RCU expedited grace period
rcu: Move synchronize_sched_expedited() to combining tree
rcu: Rename qs_pending to core_needs_qs
rcu: Invert passed_quiesce and rename to cpu_no_qs
rcu: Make ->cpu_no_qs be a union for aggregate OR
rcu: Eliminate panic when silly boot-time fanout specified
rcu: Add online/offline info to stall warning message
rcu: Move preemption disabling out of __srcu_read_lock()
rcu: Correct comment for values of ->gp_state field
rcu: Add rcu_pointer_handoff()
rcu: Remove deprecated rcu_lockdep_assert()
rculist: Use WRITE_ONCE() when deleting from reader-visible list
documentation: No acquire/release for RCU readers
documentation: Call out slow consoles as cause of stall warnings
documentation: Catch up list of torture_type options
documentation: Add lockless_dereference()
locking/percpu-rwsem: Export symbols for locktorture
locktorture: Add torture tests for percpu_rwsem
torture: Consolidate cond_resched_rcu_qs() into stutter_wait()
rcutorture: Fix module unwind when bad torture_type specified
rcutorture: Fix unused-function warning for torturing_tasks()
torture: Forgive non-plural arguments
locktorture: Fix module unwind when bad torture_type specified
rcu: Switch synchronize_sched_expedited() to IPI
rcu: Stop silencing lockdep false positive for expedited grace periods
rcu: Stop excluding CPU hotplug in synchronize_sched_expedited()
cpu: Remove try_get_online_cpus()
rcu: Prepare for consolidating expedited CPU selection
rcu: Consolidate expedited CPU selection
rcu: Add online/offline info to expedited stall warning message
rcu: Add tasks to expedited stall-warning messages
rcu: Enable stall warnings for synchronize_rcu_expedited()
rcu: Better hotplug handling for synchronize_sched_expedited()
Merge branches 'fixes.2015.10.06a' and 'exp.2015.10.07a' into HEAD
Merge branches 'doc.2015.10.06a', 'percpu-rwsem.2015.10.06a' and 'torture.2015.10.06a' into HEAD

Petr Mladek (1):
rcu: Finish folding ->fqs_state into ->gp_state

Documentation/RCU/stallwarn.txt | 7 +
Documentation/RCU/torture.txt | 39 +-
Documentation/RCU/trace.txt | 32 +-
Documentation/RCU/whatisRCU.txt | 6 +-
Documentation/kernel-parameters.txt | 9 +-
Documentation/locking/locktorture.txt | 3 +
Documentation/memory-barriers.txt | 12 +-
include/linux/cpu.h | 2 -
include/linux/list.h | 5 +-
include/linux/list_bl.h | 5 +-
include/linux/list_nulls.h | 3 +-
include/linux/percpu-rwsem.h | 3 +-
include/linux/rcu_sync.h | 86 ++++
include/linux/rculist.h | 5 +-
include/linux/rcupdate.h | 59 +--
include/linux/rcutiny.h | 3 +-
include/linux/rcutree.h | 2 +-
include/linux/sched.h | 10 +-
include/linux/srcu.h | 5 +-
kernel/cpu.c | 13 -
kernel/exit.c | 2 +
kernel/locking/locktorture.c | 164 ++++++-
kernel/locking/percpu-rwsem.c | 90 ++--
kernel/rcu/Makefile | 2 +-
kernel/rcu/rcutorture.c | 16 +-
kernel/rcu/srcu.c | 4 +-
kernel/rcu/sync.c | 223 +++++++++
kernel/rcu/tiny.c | 8 +-
kernel/rcu/tree.c | 512 ++++++++++++++++-----
kernel/rcu/tree.h | 69 ++-
kernel/rcu/tree_plugin.h | 437 ++++++++++--------
kernel/rcu/tree_trace.c | 10 +-
kernel/rcu/update.c | 2 +-
kernel/sched/core.c | 1 +
kernel/torture.c | 1 +
tools/testing/selftests/rcutorture/bin/kvm.sh | 6 +-
.../selftests/rcutorture/configs/lock/CFLIST | 4 +-
.../selftests/rcutorture/configs/lock/LOCK05 | 6 +
.../selftests/rcutorture/configs/lock/LOCK05.boot | 1 +
.../selftests/rcutorture/configs/lock/LOCK06 | 6 +
.../selftests/rcutorture/configs/lock/LOCK06.boot | 1 +
41 files changed, 1331 insertions(+), 543 deletions(-)
create mode 100644 include/linux/rcu_sync.h
create mode 100644 kernel/rcu/sync.c
create mode 100644 tools/testing/selftests/rcutorture/configs/lock/LOCK05
create mode 100644 tools/testing/selftests/rcutorture/configs/lock/LOCK05.boot
create mode 100644 tools/testing/selftests/rcutorture/configs/lock/LOCK06
create mode 100644 tools/testing/selftests/rcutorture/configs/lock/LOCK06.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/