Messages in this thread | | | Date | Thu, 16 Jan 2014 14:44:40 +0100 | From | Peter Zijlstra <> | Subject | Re: [PATCH v3 tip/core/timers 0/5] Crude timer-wheel latency hacks |
| |
On Wed, Jan 15, 2014 at 08:02:03PM -0800, Paul E. McKenney wrote: > Hello! > > The following five 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. > Note that these patches do not help in the case where a given timer wheel > has a pair of widely separated timers, while the more comprehensive > solution is likely to handle more gracefully. 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. > > 5. Make internal_add_timer() update ->next_timer if ->active_timers == 0, > courtesy of Oleg Nesterov.
They seem like perfectly fine bandaids ;-)
Acked-by: Peter Zijlstra <peterz@infradead.org>
| |