Skip to content

RCU_FAST_NO_HZ changes for 3.6

Paul E. McKenney lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest0 of 7 patches 1 replyIn review

Patches in v1 No applies recorded yet

None of the 7 patches the cover letter announces are in this archive.

Reviews trailers per patch

PatchHeiko CarstensPascal Chapperon
SeriesT-b T-b T-b T-b T-b T-b T-b T-b T-b T-b T-b T-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v1 thread

Cover letter [PATCH tip/core/rcu 0/7] RCU_FAST_NO_HZ changes for 3.6

Hello!

This patch series provides more adjustments to the (relatively) new large-system-safe implementation for RCU_FAST_NO_HZ:

1. Remove RCU_FAST_NO_HZ dependency on stop_machine() nature of
CPU hotplug.
2. Make RCU_FAST_NO_HZ tracing distinguish between short and
long idle intervals.
3. Move RCU_FAST_NO_HZ per-CPU state variables to the rcu_dynticks
per-CPU structure.
4. Precompute RCU_FAST_NO_HZ timer offsets so that the timers
will actually be paid attention to. This fixes the slow-boot problem that hit a few people.
5. Convert ftrace_dump() calls in idle entry and idle exit from
DUMP_ALL to DUMP_ORIG.
6. Fix erroneous TINY_PREEMPT_RCU assumption that rcu_preempt_needs_cpu()
is a quiescent state (it is not).
7. Round RCU_FAST_NO_HZ lazy timeout to nearest second to conserve
power on systems with synchronized scheduler-clock interrupts.

I am considering pushing #1-#4 into 3.5 for the slow-boot regression. If you object, please let me know.

Thanx, Paul

 b/include/linux/rcupdate.h   |    2 
 b/include/linux/rcutiny.h    |    6 +
 b/include/linux/rcutree.h    |    2 
 b/include/trace/events/rcu.h |    1 
 b/kernel/rcutiny_plugin.h    |    2 
 b/kernel/rcutree.c           |    2 
 b/kernel/rcutree.h           |   14 +++
 b/kernel/rcutree_plugin.h    |    8 +-
 b/kernel/time/tick-sched.c   |    7 +
 kernel/rcutree.c             |    4 -
 kernel/rcutree_plugin.h      |  167 ++++++++++++++++++++++---------------------
 11 files changed, 124 insertions(+), 91 deletions(-)