Re: [GIT PULL] isolation: 1Hz residual tick offloading v3

From: Luiz Capitulino
Date: Thu Jan 18 2018 - 09:02:36 EST


On Thu, 18 Jan 2018 04:04:43 +0100
Frederic Weisbecker <frederic@xxxxxxxxxx> wrote:

> On Wed, Jan 17, 2018 at 12:38:01PM -0500, Luiz Capitulino wrote:
> > On Tue, 16 Jan 2018 23:51:29 +0100
> > Frederic Weisbecker <frederic@xxxxxxxxxx> wrote:
> >
> > > On Tue, Jan 16, 2018 at 11:52:11AM -0500, Luiz Capitulino wrote:
> > > > On Tue, 16 Jan 2018 16:41:00 +0100
> > > > Frederic Weisbecker <frederic@xxxxxxxxxx> wrote:
> > > > > So isolcpus= is now the place where we control the isolation features
> > > > > and nohz is one of them.
> > > >
> > > > That's the part I'm not very sure about. We've been advising users to
> > > > move away from isolcpus= when possible, but this very wanted nohz_offload
> > > > feature will force everyone back to using isolcpus= again.
> > >
> > > Note "isolcpus=nohz" only implies nohz. You need to add "domain" to get
> > > the behaviour that you've been advising users against. We are simply
> > > reusing a kernel parameter that was abandoned to now control the isolation
> > > features that were disorganized and opaque behind nohz.
> > >
> > > >
> > > > I have the impression this series is trying to solve two problems:
> > > >
> > > > 1. How (and where) we control the various isolation features in the
> > > > kernel
> > >
> > > No, that has already been done in the previous merge window. We have a
> > > dedicated isolation subsystem now (kernel/sched/isolation.c) and
> > > an interface to control all these isolation features that were abusively implied
> > > by nohz. The initial plan was to introduce "cpu_isolation=" but it looked too much like
> > > "isolcpus=". Then in fact, why not using "isolcpus=" and give it a second life.
> > > And there we are.
> >
> > OK, I get it now. But then series has to un-deprecate isolcpus= otherwise
> > it doesn't make sense to use it.
>
> Good point. Also I think you convinced me toward just applying that tick offload
> on the existing nohz kernel parameter right away, that is, to both existing "nohz_full="
> and "isolcpus=nohz".
>
> After all that tick offload is an implementation detail.
>
> Like you said if people complain about a regression, we can still fix it
> with a new option. But eventually I doubt this will be needed.
>
> I'll respin with that.

Exciting times!

Btw, I do have this problem where I have a hog app on an isolated core
with isolcpus=nohz_offload,domain,... and I see top -d1 going from 100%
to 0% and then back from 0% to 100% every few seconds or so. I'll debug
it when you post the next version.