* [GIT PULL rcu/next] RCU commits for 3.6
@ 2012-07-06 14:01 Paul E. McKenney
2012-07-06 14:17 ` Ingo Molnar
0 siblings, 1 reply; 2+ messages in thread
From: Paul E. McKenney @ 2012-07-06 14:01 UTC (permalink / raw)
To: mingo
Cc: linux-kernel, josh, heiko.carstens, pascal.chapperon, wfg, C.Emde,
mathieu.desnoyers, dhowells, efault, levinsasha928
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(-)
^ permalink raw reply [flat|nested] 2+ messages in thread* Re: [GIT PULL rcu/next] RCU commits for 3.6
2012-07-06 14:01 [GIT PULL rcu/next] RCU commits for 3.6 Paul E. McKenney
@ 2012-07-06 14:17 ` Ingo Molnar
0 siblings, 0 replies; 2+ messages in thread
From: Ingo Molnar @ 2012-07-06 14:17 UTC (permalink / raw)
To: Paul E. McKenney
Cc: mingo, linux-kernel, josh, heiko.carstens, pascal.chapperon, wfg,
C.Emde, mathieu.desnoyers, dhowells, efault, levinsasha928
* Paul E. McKenney <paulmck@linux.vnet.ibm.com> wrote:
> 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(-)
Pulled, thanks a lot Paul!
Ingo
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2012-07-06 14:17 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-07-06 14:01 [GIT PULL rcu/next] RCU commits for 3.6 Paul E. McKenney
2012-07-06 14:17 ` Ingo Molnar
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.