[GIT PULL rcu/next] RCU commits for 3.6

From: Paul E. McKenney
Date: Fri Jul 06 2012 - 10:10:02 EST


Hello, Ingo,

The major features of this series are:

1. Preventing latency spikes of more than 200 microseconds for
kernels built with NR_CPUS=4096, which is reportedly becoming
the default for some distros. This is a first step, as it does
not help with systems that actually -have- 4096 CPUs (work on
this case is in progress, but is not yet ready for mainline).
This category also includes improving concurrency of rcu_barrier(),
placed here due to conflicts. Posted to LKML at:
https://lkml.org/lkml/2012/6/22/381. Note that patches 18-22
of that series have been defered to 3.7, as they have not yet
proven themselves to be mainline-ready (and yes, these are the
ones intended to get rid of RCU's latency spikes for systems
that actually have 4096 CPUs).
2. Updates to documentation and rcutorture fixes, the latter category
including improvements to rcu_barrier() testing. Posted to LKML at:
http://lkml.indiana.edu/hypermail/linux/kernel/1206.1/04094.html.
3. Miscellaneous fixes posted to LKML at:
https://lkml.org/lkml/2012/6/22/500, with the exception of the
last commit, which was posted here:
http://www.gossamer-threads.com/lists/linux/kernel/1561830
4. RCU_FAST_NO_HZ fixes and improvements. Posted to LKML at:
http://lkml.indiana.edu/hypermail/linux/kernel/1206.1/00006.html
and http://www.gossamer-threads.com/lists/linux/kernel/1561833.
The first four patches of the first series went into 3.5 to fix
a regression.
5. Code-style fixes. These were posted to LKML at
http://lkml.indiana.edu/hypermail/linux/kernel/1205.2/01180.html and
http://lkml.indiana.edu/hypermail/linux/kernel/1205.2/01181.html.

All of this code has 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

-------------------->
Carsten Emde (1):
rcu: Prevent uninitialized string in RCU CPU stall info

Paul E. McKenney (48):
rcu: Control RCU_FANOUT_LEAF from boot-time parameter
rcu: Four-level hierarchy is no longer experimental
rcu: Size rcu_node tree from nr_cpu_ids rather than NR_CPUS
rcu: Prevent excessive line length in RCU_STATE_INITIALIZER()
rcu: Place pointer to call_rcu() in rcu_data structure
rcu: Move _rcu_barrier()'s rcu_head structures to rcu_data structures
rcu: Move rcu_barrier_cpu_count to rcu_state structure
rcu: Move rcu_barrier_completion to rcu_state structure
rcu: Move rcu_barrier_mutex to rcu_state structure
rcu: Remove needless initialization
rcu: Increase rcu_barrier() concurrency
rcu: Add tracing for _rcu_barrier()
rcu: Add rcu_barrier() statistics to debugfs tracing
rcu: Remove unneeded __rcu_process_callbacks() argument
rcu: Introduce for_each_rcu_flavor() and use it
rcu: Use for_each_rcu_flavor() in TREE_RCU tracing
rcu: RCU_SAVE_DYNTICK code no longer ever dead
rcu: Update documentation to cover call_srcu() and srcu_barrier().
rcu: Rationalize ordering of torture_ops list
rcu: Test srcu_barrier() from rcutorture test suite
rcu: Fix bug in rcu_barrier() torture test
rcu: Fix diagnostic-printk typo in rcutorture
rcu: Make rcutorture fakewriters invoke rcu_barrier()
rcu: Fix detection of abruptly-ending stall
rcu: Consolidate duplicate callback-list initialization
rcu: Add ACCESS_ONCE() to ->qlen accesses
rcu: Add a gcc-style structure initializer for RCU pointers
rcu: Use new RCU_POINTER_INITIALIZER for gcc-style initializations
rcu: Remove return value from RCU_INIT_POINTER()
key: Remove extraneous parentheses from rcu_assign_keypointer()
rcu: Remove return value from rcu_assign_pointer()
rcu: Consolidate tree/tiny __rcu_read_{,un}lock() implementations
rcu: Remove function versions of __kfree_rcu and __is_kfree_rcu_offset
rcu: Make __call_rcu() handle invocation from idle
rcu: Prevent __call_rcu() from invoking RCU core on offline CPUs
rcu: Split RCU core processing out of __call_rcu()
rcu: Fix rcu_is_cpu_idle() #ifdef in TINY_RCU
rcu: Disable preemption in rcu_blocking_is_gp()
rcu: Add check for CPUs going offline with callbacks queued
rcu: Dump only the current CPU's buffers for idle-entry/exit warnings
rcu: The rcu_needs_cpu() function is not a quiescent state
rcu: Round FAST_NO_HZ lazy timeout to nearest second
rcu: Fix qlen_lazy breakage
rcu: Make RCU_FAST_NO_HZ respect nohz= boot parameter
rcu: Introduce check for callback list/count mismatch
Merge branches 'bigrtm.2012.07.04a', 'doctorture.2012.07.02a', 'fixes.2012.07.06a' and 'fnh.2012.07.02a' into HEAD
rcu: Fix code-style issues involving "else"
rcu: Fix broken strings in RCU's source code.

Documentation/RCU/checklist.txt | 39 ++--
Documentation/RCU/rcubarrier.txt | 15 +-
Documentation/RCU/torture.txt | 9 +
Documentation/RCU/whatisRCU.txt | 6 +-
Documentation/kernel-parameters.txt | 5 +
include/linux/init_task.h | 4 +-
include/linux/key.h | 4 +-
include/linux/rcupdate.h | 53 ++---
include/trace/events/rcu.h | 45 ++++
kernel/rcupdate.c | 44 ++++
kernel/rcutiny.c | 4 +-
kernel/rcutiny_plugin.h | 56 +----
kernel/rcutorture.c | 72 ++++--
kernel/rcutree.c | 478 ++++++++++++++++++++++------------
kernel/rcutree.h | 46 ++--
kernel/rcutree_plugin.h | 223 ++++-------------
kernel/rcutree_trace.c | 148 ++++++-----
kernel/time/tick-sched.c | 2 +-
lib/list_debug.c | 6 +-
19 files changed, 669 insertions(+), 590 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/