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

From: Ingo Molnar
Date: Mon May 14 2012 - 02:48:19 EST



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

> Hello, Ingo,
>
> The major features of this series are:
>
> 1. A set of improvements and fixes to the RCU_FAST_NO_HZ feature
> (with more on the way for 3.6). Posted to LKML:
> https://lkml.org/lkml/2012/4/23/324 (commits 1-3 and 5),
> https://lkml.org/lkml/2012/4/16/611 (commit 4),
> https://lkml.org/lkml/2012/4/30/390 (commit 6), and
> https://lkml.org/lkml/2012/5/4/410 (commit 7, combined with
> the other commits for the convenience of the tester).
> 2. Changes to make rcu_barrier() avoid disrupting execution of CPUs
> that have no RCU callbacks. Posted to LKML:
> https://lkml.org/lkml/2012/4/23/322.
> 3. A couple of commits that improve the efficiency of the interaction
> between preemptible RCU and the scheduler, these two being all
> that survived an abortive attempt to allow preemptible RCU's
> __rcu_read_lock() to be inlined. The full set was posted to
> LKML at https://lkml.org/lkml/2012/4/14/143, and the first and
> third patches of that set remain.
> 4. Lai Jiangshan's algorithmic implementation of SRCU, which includes
> call_srcu() and srcu_barrier(). A major feature of this new
> implementation is that synchronize_srcu() no longer disturbs
> the execution of other CPUs. This work is based on earlier
> implementations by Peter Zijlstra and myself. Posted to
> LKML: https://lkml.org/lkml/2012/2/22/82.
> 5. A number of miscellaneous bug fixes and improvements which were
> posted to LKML at: https://lkml.org/lkml/2012/4/23/353 with
> subsequent updates posted to LKML.
>
> #1 and #2 are combined onto one topic branch due to dependencies among
> the commits.
>
> All of these have been exposed to -next testing.
>
> These changes are available in the git repository at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git rcu/next
>
> Thanx, Paul
>
> -------------------->
> Dave Jones (1):
> rcu: List-debug variants of rcu list routines.
>
> Jan Engelhardt (1):
> rcu: Make __kfree_rcu() less dependent on compiler choices
>
> Lai Jiangshan (10):
> rcu: Remove fast check path from __synchronize_srcu()
> rcu: Increment upper bit only for srcu_read_lock()
> rcu: Flip ->completed only once per SRCU grace period
> rcu: Improve SRCU's wait_idx() comments
> rcu: Implement a variant of Peter's SRCU algorithm
> rcu: Remove unused srcu_barrier()
> rcu: Improve srcu_readers_active_idx()'s cache locality
> rcu: Use single value to handle expedited SRCU grace periods
> rcu: Implement per-domain single-threaded call_srcu() state machine
> rcu: Add rcutorture test for call_srcu()
>
> Michel Machado (1):
> rcu: Replace list_first_entry_rcu() with list_first_or_null_rcu()
>
> Paul E. McKenney (20):
> rcu: Clarify help text for RCU_BOOST_PRIO
> rcu: Reduce cache-miss initialization latencies for large systems
> rcu: Document kernel command-line parameters
> rcu: Document why rcu_blocking_is_gp() is safe
> rcu: Add RCU_FAST_NO_HZ tracing for idle exit
> rcu: Make RCU_FAST_NO_HZ use timer rather than hrtimer
> rcu: Make RCU_FAST_NO_HZ account for pauses out of idle
> rcu: Fixes to rcutorture error handling and cleanup
> rcu: Add warning for RCU_FAST_NO_HZ timer firing
> timer: Fix mod_timer_pinned() header comment
> rcu: Introduce rcutorture testing for rcu_barrier()
> rcu: Direct algorithmic SRCU implementation
> rcu: Ensure that RCU_FAST_NO_HZ timers expire on correct CPU
> rcu: Move PREEMPT_RCU preemption to switch_to() invocation
> rcu: Make exit_rcu() more precise and consolidate
> rcu: Update RCU maintainership
> rcu: Make RCU_FAST_NO_HZ handle timer migration
> rcu: Explicitly initialize RCU_FAST_NO_HZ per-CPU variables
> rcu: Make rcu_barrier() less disruptive
> Merge branches 'barrier.2012.05.09a', 'fixes.2012.04.26a', 'inline.2012.05.02b' and 'srcu.2012.05.07b' into HEAD
>
> Documentation/RCU/torture.txt | 15 +-
> Documentation/kernel-parameters.txt | 88 ++++++-
> MAINTAINERS | 14 +-
> arch/um/drivers/mconsole_kern.c | 1 +
> include/linux/rculist.h | 40 +++-
> include/linux/rcupdate.h | 20 ++
> include/linux/rcutiny.h | 11 -
> include/linux/rcutree.h | 19 --
> include/linux/sched.h | 10 +
> include/linux/srcu.h | 48 +++-
> include/trace/events/rcu.h | 2 +
> init/Kconfig | 50 +++-
> kernel/rcupdate.c | 28 ++
> kernel/rcutiny_plugin.h | 16 -
> kernel/rcutorture.c | 257 +++++++++++++++-
> kernel/rcutree.c | 332 ++++++++++++++++------
> kernel/rcutree.h | 23 +-
> kernel/rcutree_plugin.h | 154 +++++++----
> kernel/rcutree_trace.c | 4 +-
> kernel/sched/core.c | 1 +
> kernel/srcu.c | 548 +++++++++++++++++++++++++++-------
> kernel/timer.c | 8 +-
> lib/list_debug.c | 22 ++
> 23 files changed, 1358 insertions(+), 353 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/