Re: [patch V2 00/20] timer: Refactor the timer wheel

From: Paul E. McKenney
Date: Mon Jun 20 2016 - 11:43:01 EST


On Mon, Jun 20, 2016 at 05:13:41PM +0200, Thomas Gleixner wrote:
> On Mon, 20 Jun 2016, Paul E. McKenney wrote:
>
> > On Fri, Jun 17, 2016 at 01:26:28PM -0000, Thomas Gleixner wrote:
> > > This is the second version of the timer wheel rework series. The first series
> > > can be found here:
> > >
> > > http://lkml.kernel.org/r/20160613070440.950649741@xxxxxxxxxxxxx
> > >
> > > The series is also available in git:
> > >
> > > git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git WIP.timers
> >
> > Ran some longer rcutorture tests, and the scripting complained about
> > hangs. This turned out to be due to the 12.5% uncertainty, so I fixed
>
> Is that stuff so sensitive? I'm surprised, because the old slack stuff got you
> 6.25% already.

But didn't you have to ask for slack?

Anyway, rcutorture allows three minutes longer than the duration, and
then kills the test (unless it is actively dumping the ftrace buffer).
A 30-minute test does fine either way, but a 60-minute test gets killed
with high probability. Changing to hrtimers makes things work nicely
(other than SRCU), even for 60-minute runs. I have run ten-hour
rcutorture runs with normal completion with the old timers.

Might well be that this switch to hrtimer is needed in some situations
for the old setup. Given that it happens only once per run, it clearly
has little or no performance downside, so I am queueing it regardless.
Well, I will do so once I take care of the arithmetic limitations that
are causing link-time errors on 32-bit systems.

Thanx, Paul