[GIT PULL rcu/next] RCU commits for 4.1

From: Paul E. McKenney
Date: Thu Mar 26 2015 - 14:09:39 EST


Hello, Ingo,

The changes in this series include the following, but please see the
note on set 5:

1. Documentation updates. These were posted to LKML at
https://lkml.org/lkml/2015/3/3/493.

2. Changes permitting use of call_rcu() and friends very early in
boot, for example, before rcu_init() is invoked. These were
posted to LKML at https://lkml.org/lkml/2015/3/3/510.

3. Miscellaneous fixes. These were posted to LKML at
https://lkml.org/lkml/2015/3/3/538.

4. In-kernel API to enable and disable expediting of normal RCU
grace periods. These were posted to LKML at
https://lkml.org/lkml/2015/3/3/557.

5. Improve RCU's handling of outgoing CPUs. These were posted to
LKML at https://lkml.org/lkml/2015/3/3/578.

Note: ARM support is lagging a bit. This might require that
this particular set of commits be deferred. I am currently
optimistic, but please let me know if you would like to handle
these some other way.

6. NO_HZ_FULL_SYSIDLE fixes. These were posted to LKML at
https://lkml.org/lkml/2015/3/3/607.

7. Tiny RCU updates to make it more tiny. These were posted to LKML
at https://lkml.org/lkml/2015/3/3/618.

These changes (based on v4.0-rc1) 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 42528795ac1c8d7ba021797ec004904168956d64:

Merge branches 'doc.2015.02.26a', 'earlycb.2015.03.03a', 'fixes.2015.03.03a', 'gpexp.2015.02.26a', 'hotplug.2015.03.20a', 'sysidle.2015.02.26b' and 'tiny.2015.02.26a' into HEAD (2015-03-20 08:31:01 -0700)

----------------------------------------------------------------

Alexander Gordeev (2):
rcu: Remove unnecessary condition check in rcu_qsctr_help()
rcu: Remove fastpath from __rcu_process_callbacks()

Lai Jiangshan (1):
rcu_tree: Avoid touching rnp->completed when a new GP is started

Paul E. McKenney (53):
rcu: Consolidate rcu_synchronize and wakeme_after_rcu()
documentation: Update rcutree.kthread_prio for grace-period kthread use
documentation: Update based on on-demand vmstat workers
documentation: Update NO_HZ_FULL interaction with POSIX timers
documentation: Update per-CPU kthreads documentation
documentation: Clarify memory-barrier semantics of atomic operations
documentation: Clarify control-dependency pairing
rcu: Abstract default callback-list initialization from init_callback_list()
rcu: Wire ->rda pointers at compile time
rcu: Prevent early-boot RCU callbacks from splatting
rcu: Refine diagnostics for lacking kthread for no-CBs callbacks
rcu: Avoid clobbering early boot callbacks
rcu: Fix a couple of typos in rcu_all_qs() comment header
rcu: Drive PROVE_RCU directly off of PROVE_LOCKING
rcu: Provide rcu_expedite_gp() and rcu_unexpedite_gp()
rcu: Add rcu_expedite_gp() and rcu_unexpedite_gp() to rcutorture
rcu: Update from rcu_expedited variable to rcu_gp_is_expedited()
rcu: Add Kconfig option to expedite grace periods during boot
rcutorture: Make consistent use of variables
rcu: Fixes to NO_HZ_FULL sysidle accounting
rcu: Tighten up affinity and check for sysidle
rcu: Move early-boot callbacks to no-CBs lists for no-CBs CPUs
rcu: Move early boot callback tests earlier
rcu: Use IS_ENABLED() to CONFIG_RCU_FANOUT_EXACT #ifdef
rcu: Improve diagnostics for blocked critical sections in irq
rcu: Use IS_ENABLED() to simplify rcu_bootup_announce_oddness()
rcu: Add boot-up check for non-default CONFIG_RCU_FANOUT_LEAF values
rcu: Reverse rcu_dereference_check() conditions
torture: Avoid script syntax error when insufficient CPUs
rcu: Get rcu_sched_force_quiescent_state() where it belongs
smpboot: Add common code for notification from dying CPU
x86: Use common outgoing-CPU-notification code
blackfin: Use common outgoing-CPU-notification code
metag: Use common outgoing-CPU-notification code
rcu: Consolidate offline-CPU callback initialization
rcu: Put all orphan-callback-related code under same comment
rcu: Simplify sync_rcu_preempt_exp_init()
rcu: Eliminate empty HOTPLUG_CPU ifdef
rcu: Detect stalls caused by failure to propagate up rcu_node tree
rcu: Provide diagnostic option to slow down grace-period initialization
rcutorture: Enable slow grace-period initializations
rcu: Remove event tracing from rcu_cpu_notify(), used by offline CPUs
rcu: Rework preemptible expedited bitmask handling
rcu: Move rcu_report_unblock_qs_rnp() to common code
rcu: Process offlining and onlining only at grace-period start
rcu: Eliminate ->onoff_mutex from rcu_node structure
cpu: Make CPU-offline idle-loop transition point more precise
rcu: Handle outgoing CPUs on exit from idle loop
rcutorture: Default to grace-period-initialization delays
rcu: Add diagnostics to grace-period cleanup
rcu: Yet another fix for preemption and CPU hotplug
rcu: Associate quiescent-state reports with grace period
Merge branches 'doc.2015.02.26a', 'earlycb.2015.03.03a', 'fixes.2015.03.03a', 'gpexp.2015.02.26a', 'hotplug.2015.03.20a', 'sysidle.2015.02.26b' and 'tiny.2015.02.26a' into HEAD

Yao Dongdong (1):
rcu: Remove redundant check of cpu_online()

Documentation/atomic_ops.txt | 45 +--
Documentation/kernel-parameters.txt | 20 +-
Documentation/kernel-per-CPU-kthreads.txt | 34 +-
Documentation/memory-barriers.txt | 42 +-
Documentation/timers/NO_HZ.txt | 10 +-
arch/blackfin/mach-common/smp.c | 6 +-
arch/metag/kernel/smp.c | 5 +-
arch/x86/include/asm/cpu.h | 2 -
arch/x86/include/asm/smp.h | 2 +-
arch/x86/kernel/smpboot.c | 39 +-
arch/x86/xen/smp.c | 46 ++-
include/linux/cpu.h | 14 +
include/linux/lockdep.h | 7 +-
include/linux/rcupdate.h | 40 +-
include/linux/srcu.h | 2 +-
init/Kconfig | 13 +
kernel/cpu.c | 4 +-
kernel/rcu/rcutorture.c | 27 +-
kernel/rcu/srcu.c | 19 +-
kernel/rcu/tiny.c | 14 +-
kernel/rcu/tree.c | 437 +++++++++++++++------
kernel/rcu/tree.h | 11 +-
kernel/rcu/tree_plugin.h | 267 +++++++------
kernel/rcu/tree_trace.c | 4 +-
kernel/rcu/update.c | 72 +++-
kernel/sched/idle.c | 9 +-
kernel/smpboot.c | 156 ++++++++
lib/Kconfig.debug | 35 +-
tools/testing/selftests/rcutorture/bin/kvm.sh | 2 +-
.../selftests/rcutorture/configs/rcu/CFcommon | 1 +
30 files changed, 948 insertions(+), 437 deletions(-)

--
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/