On Wed, 15 Jan 2014 20:02:03 -0800 "Paul E. McKenney" <[email protected]> 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. > Although I think the "(void)" is ugly and uncalled for (there's lots of functions that return a value in the kernel that don't have that). But, it's not up to me to argue this. For all 5 patches, Reviewed-by: Steven Rostedt <[email protected]> -- Steve -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

