Re: [GIT PULL rcu/next] RCU commits for 4.3

From: Ingo Molnar
Date: Wed Aug 12 2015 - 06:15:12 EST



* Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> wrote:

> Hello, Ingo,
>
> The changes in this series include the following:
>
> 1. Miscellaneous fixes. These were posted to LKML at
> https://lkml.org/lkml/2015/7/17/855.
>
> 2. The combination of tree geometry-initialization simplifications
> and OS-jitter-reduction changes to expedited grace periods.
> These two are stacked due to the large number of conflicts
> that would otherwise result. These were posted to LKML
> at https://lkml.org/lkml/2015/7/17/873 (initialization
> simplifications) and https://lkml.org/lkml/2015/7/17/907 (OS
> jitter reduction). With one addition, a temporary commit to
> silence a lockdep false positive. Additional changes to the
> expedited grace-period primitives (queued for 4.4) remove the
> cause of this false positive, and therefore include a revert of
> this temporary commit.
>
> 3. Documentation updates. These were posted to LKML at
> https://lkml.org/lkml/2015/7/17/921.
>
> 4. Torture-test updates. These were posted to LKML at
> https://lkml.org/lkml/2015/7/17/939.
>
> 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 3dbe43f6fba9f2a0e46e371733575a45704c22ab:
>
> Merge branches 'doc.2015.07.15a' and 'torture.2015.07.15a' into HEAD (2015-08-04 08:42:02 -0700)
>
> ----------------------------------------------------------------
>
> Alexander Gordeev (10):
> rcu: Panic if RCU tree can not accommodate all CPUs
> rcu: Remove superfluous local variable in rcu_init_geometry()
> rcu: Cleanup rcu_init_geometry() code and arithmetics
> rcu: Simplify rcu_init_geometry() capacity arithmetics
> rcu: Limit rcu_state::levelcnt[] to RCU_NUM_LVLS items
> rcu: Limit rcu_capacity[] size to RCU_NUM_LVLS items
> rcu: Remove unnecessary fields from rcu_state structure
> rcu: Limit count of static data to the number of RCU levels
> rcu: Simplify arithmetic to calculate number of RCU nodes
> rcu: Shut up bogus gcc array bounds warning
>
> Alexei Starovoitov (1):
> rcu: Make rcu_is_watching() really notrace
>
> Denys Vlasenko (1):
> rcu: Deinline rcu_read_lock_sched_held() if DEBUG_LOCK_ALLOC
>
> Lai Jiangshan (1):
> rcu: Update MAINTAINERS entry
>
> Nicholas Mc Guire (1):
> rcu: Change return type to bool
>
> Paul E. McKenney (44):
> rcu: Drop RCU_USER_QS in favor of NO_HZ_FULL
> documentation: Bring rcutorture parameters up to date
> documentation: Fix spelling of "operators"
> documentation: Fix variable-name typo in memory-barriers.txt
> documentation: Replace ACCESS_ONCE() by READ_ONCE() and WRITE_ONCE()
> doc: Call out smp_mb__after_unlock_lock() transitivity
> rcu: Provide more diagnostics for stalled GP kthread
> rcutorture: Better bounds checking for n_barrier_cbs
> rcutorture: Check nfakewriters parameter
> rcutorture: Bounds-check rcutorture.shuffle_interval
> rcutorture: Fix rcu_torture_cbflood() for callback-free RCU
> rcutorture: Add RCU-tasks qualifier to dereference
> rcutorture: Enable lockdep-RCU on TASKS01
> rcu: Reset rcu_fanout_leaf if out of bounds
> rcu: Stop disabling CPU hotplug in synchronize_rcu_expedited()
> rcu: Remove CONFIG_RCU_CPU_STALL_INFO
> rcu: Rework synchronize_sched_expedited() counter handling
> rcu: Get rid of synchronize_sched_expedited()'s polling loop
> rcu: Abstract sequence counting from synchronize_sched_expedited()
> rcu: Make synchronize_rcu_expedited() use sequence-counter scheme
> rcu: Abstract funnel locking from synchronize_sched_expedited()
> rcu: Fix synchronize_sched_expedited() type error for "s"
> rcu: Use funnel locking for synchronize_rcu_expedited()'s polling loop
> rcu: Apply rcu_seq operations to _rcu_barrier()
> rcu: Consolidate last open-coded expedited memory barrier
> rcu: Extend expedited funnel locking to rcu_data structure
> rcu: Add stall warnings to synchronize_sched_expedited()
> documentation: Describe new expedited stall warnings
> rcu: Pull out wait_event*() condition into helper function
> rcu: Rename RCU_GP_DONE_FQS to RCU_GP_DOING_FQS
> rcu: Add fastpath bypassing funnel locking
> rcu: Add RCU-sched flavors of get-state and cond-sync
> rcu: Hide RCU_NOCB_CPU behind RCU_EXPERT
> rcu: Fix obsolete priority-boosting comment
> rcu: Create a synchronize_rcu_mult()
> cpu: Wait for RCU grace periods concurrently
> rcu: Rename rcu_lockdep_assert() to RCU_LOCKDEP_WARN()
> rcu: Fix backwards RCU_LOCKDEP_WARN() in synchronize_rcu_tasks()
> rcu: Clarify CONFIG_RCU_EQS_DEBUG help text
> scripts: Make checkpatch.pl warn on expedited RCU grace periods
> rcu: Don't disable CPU hotplug during OOM notifiers
> rcu: Silence lockdep false positive for expedited grace periods
> Merge branches 'fixes.2015.07.22a' and 'initexp.2015.08.04a' into HEAD
> Merge branches 'doc.2015.07.15a' and 'torture.2015.07.15a' into HEAD
>
> Peter Zijlstra (3):
> rcu: Switch synchronize_sched_expedited() to stop_one_cpu()
> rcu: Make expedited GP CPU stoppage asynchronous
> rcu: Use WRITE_ONCE in RCU_INIT_POINTER
>
> Documentation/RCU/rcu_dereference.txt | 2 +-
> Documentation/RCU/stallwarn.txt | 29 +-
> Documentation/RCU/trace.txt | 36 +-
> Documentation/RCU/whatisRCU.txt | 2 +-
> Documentation/kernel-parameters.txt | 35 +-
> Documentation/memory-barriers.txt | 359 +++++------
> MAINTAINERS | 6 +-
> arch/x86/kernel/cpu/mcheck/mce.c | 6 +-
> arch/x86/kernel/traps.c | 2 +-
> drivers/base/power/opp.c | 4 +-
> include/linux/fdtable.h | 4 +-
> include/linux/rcupdate.h | 144 +++--
> include/linux/rcutiny.h | 10 +
> include/linux/rcutree.h | 2 +
> include/linux/types.h | 3 +
> include/trace/events/rcu.h | 1 -
> init/Kconfig | 10 +-
> kernel/cgroup.c | 4 +-
> kernel/cpu.c | 10 +-
> kernel/pid.c | 5 +-
> kernel/rcu/rcutorture.c | 42 +-
> kernel/rcu/srcu.c | 15 +-
> kernel/rcu/tiny.c | 8 +-
> kernel/rcu/tree.c | 681 ++++++++++++---------
> kernel/rcu/tree.h | 84 ++-
> kernel/rcu/tree_plugin.h | 130 +---
> kernel/rcu/tree_trace.c | 19 +-
> kernel/rcu/update.c | 90 ++-
> kernel/sched/core.c | 8 +-
> kernel/time/Kconfig | 2 -
> kernel/workqueue.c | 20 +-
> lib/Kconfig.debug | 16 +-
> scripts/checkpatch.pl | 19 +
> security/device_cgroup.c | 6 +-
> .../selftests/rcutorture/configs/rcu/TASKS01 | 4 +-
> .../selftests/rcutorture/configs/rcu/TREE01 | 1 -
> .../selftests/rcutorture/configs/rcu/TREE02 | 1 -
> .../selftests/rcutorture/configs/rcu/TREE02-T | 1 -
> .../selftests/rcutorture/configs/rcu/TREE03 | 1 -
> .../selftests/rcutorture/configs/rcu/TREE04 | 1 -
> .../selftests/rcutorture/configs/rcu/TREE05 | 1 -
> .../selftests/rcutorture/configs/rcu/TREE06 | 1 -
> .../selftests/rcutorture/configs/rcu/TREE07 | 1 -
> .../selftests/rcutorture/configs/rcu/TREE08 | 1 -
> .../selftests/rcutorture/configs/rcu/TREE08-T | 1 -
> .../selftests/rcutorture/configs/rcu/TREE09 | 1 -
> .../selftests/rcutorture/doc/TREE_RCU-kconfig.txt | 1 -
> 47 files changed, 989 insertions(+), 841 deletions(-)

Pulled, thanks a lot Paul!

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