public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 tip/core/timers] Crude timer-wheel latency hacks
@ 2014-01-15  5:19 Paul E. McKenney
  2014-01-15  5:20 ` [PATCH tip/core/timers 1/4] timers: Track total number of timers in list Paul E. McKenney
  2014-01-15 22:22 ` [PATCH v2 tip/core/timers] Crude timer-wheel latency hacks Thomas Gleixner
  0 siblings, 2 replies; 26+ messages in thread
From: Paul E. McKenney @ 2014-01-15  5:19 UTC (permalink / raw)
  To: linux-kernel
  Cc: mingo, laijs, dipankar, akpm, mathieu.desnoyers, josh, niv, tglx,
	peterz, rostedt, dhowells, edumazet, darren, fweisbec, oleg, sbw

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(+)


^ permalink raw reply	[flat|nested] 26+ messages in thread

end of thread, other threads:[~2014-01-16  2:36 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-01-15  5:19 [PATCH v2 tip/core/timers] Crude timer-wheel latency hacks Paul E. McKenney
2014-01-15  5:20 ` [PATCH tip/core/timers 1/4] timers: Track total number of timers in list Paul E. McKenney
2014-01-15  5:20   ` [PATCH tip/core/timers 2/4] timers: Reduce __run_timers() latency for empty list Paul E. McKenney
2014-01-15 17:03     ` Oleg Nesterov
2014-01-15 17:10       ` Peter Zijlstra
2014-01-16  2:14       ` Paul E. McKenney
2014-01-15 17:38     ` Oleg Nesterov
2014-01-15 20:32       ` Josh Triplett
2014-01-15 20:47         ` Steven Rostedt
2014-01-16  2:22           ` Paul E. McKenney
2014-01-15 20:33     ` Josh Triplett
2014-01-16  2:23       ` Paul E. McKenney
2014-01-15  5:20   ` [PATCH tip/core/timers 3/4] timers: Reduce future __run_timers() latency for newly emptied list Paul E. McKenney
2014-01-15 17:08     ` Oleg Nesterov
2014-01-16  2:23       ` Paul E. McKenney
2014-01-15 20:54     ` Steven Rostedt
2014-01-15 23:41       ` Paul E. McKenney
2014-01-15  5:20   ` [PATCH tip/core/timers 4/4] timers: Reduce future __run_timers() latency for first add to empty list Paul E. McKenney
2014-01-15 17:24     ` Oleg Nesterov
2014-01-15 17:31       ` [PATCH 0/1] timers: internal_add_timer() should update ->next_timer if ->active_timers == 0 Oleg Nesterov
2014-01-15 17:31         ` [PATCH 1/1] " Oleg Nesterov
2014-01-15 20:56           ` Steven Rostedt
2014-01-16  2:10           ` Paul E. McKenney
2014-01-16  2:33       ` [PATCH tip/core/timers 4/4] timers: Reduce future __run_timers() latency for first add to empty list Paul E. McKenney
2014-01-15 22:22 ` [PATCH v2 tip/core/timers] Crude timer-wheel latency hacks Thomas Gleixner
2014-01-16  2:36   ` Paul E. McKenney

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox