Re: sched_rt_period_timer causing large latencies

From: Nicholas Piggin
Date: Thu Apr 05 2018 - 06:44:58 EST


On Thu, 5 Apr 2018 20:08:59 +1000
Nicholas Piggin <npiggin@xxxxxxxxx> wrote:

> On Thu, 05 Apr 2018 10:40:20 +0200
> Mike Galbraith <efault@xxxxxx> wrote:
>
> > On Thu, 2018-04-05 at 10:27 +0200, Peter Zijlstra wrote:
> > > On Thu, Apr 05, 2018 at 09:11:38AM +1000, Nicholas Piggin wrote:
> > > > Hi,
> > > >
> > > > I'm seeing some pretty big latencies on a ~idle system when a CPU wakes
> > > > out of a nohz idle. Looks like it's due to the taking a lot of remote
> > > > locks and cache lines. irqoff trace:
> > >
> > > On RT I think we default RT_RUNTIME_SHARE to false, maybe we should do
> > > the same for mainline.
> >
> > Probably. My very first enterprise encounter with the thing was it NOT
> > saving a box from it's not so clever driver due to that.
>
> Well I would think a simpler per-cpu limiter might actually stand a
> better chance of saving you there. Or even something attached to the
> softlockup watchdog.
>
> I'm still getting a lot of locks coming from sched_rt_period_timer
> with RT_RUNTIME_SHARE false, it's just that it's now down to about
> NR_CPUS locks rather than 3*NR_CPUS.

Oh yeah, putting -1 into sched_rt_runtime_us looks like it fixes it,
I didn't look at Mike's patch close enough.

If the code stays, it would be nice to be able to default it off at
least.

Thanks,
Nick