Messages in this thread | | | Date | Tue, 14 Jan 2014 21:19:39 -0800 | From | "Paul E. McKenney" <> | Subject | [PATCH v2 tip/core/timers] Crude timer-wheel latency hacks |
| |
Hello!
The following three patches provide some crude timer-wheel latency patches. I understand that a more comprehensive solution is in progress, but in the meantime, these patches work well in cases where a given CPU has either zero or one timers pending, which is a common case for NO_HZ_FULL kernels. So, on the off-chance that this is helpful to someone, the individual patches are as follows:
1. Add ->all_timers field to tbase_vec to count all timers, not just the non-deferrable ones.
2. Avoid jiffy-at-a-time stepping when the timer wheel is empty.
3. Avoid jiffy-at-a-time stepping when the timer wheel transitions to empty.
4. Avoid jiffy-at-a-time stepping after a timer is added to an initially empty timer wheel.
Differences from v1:
o Fix an embarrassing bug located by Oleg Nesterov where the timer wheel could be judged to be empty even if it contained deferrable timers.
Thanx, Paul
------------------------------------------------------------------------
b/kernel/timer.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+)
| |