Messages in this thread | | | Date | Thu, 7 Jun 2012 21:26:32 -0700 | From | "Paul E. McKenney" <> | Subject | [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(-)
| |