Re: [PATCH v3 tip/core/timers 0/5] Crude timer-wheel latency hacks

From: Peter Zijlstra
Date: Thu Jan 16 2014 - 08:45:52 EST


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@xxxxxxxxxxxxx>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/