Re: [PATCH 4/6] sched/isolation: Offload residual 1Hz scheduler tick

From: Frederic Weisbecker
Date: Tue Feb 20 2018 - 10:44:20 EST


On Sat, Feb 17, 2018 at 11:50:52AM +0100, Thomas Gleixner wrote:
> On Thu, 15 Feb 2018, Frederic Weisbecker wrote:
>
> > When a CPU runs in full dynticks mode, a 1Hz tick remains in order to
> > keep the scheduler stats alive. However this residual tick is a burden
> > for bare metal tasks that can't stand any interruption at all, or want
> > to minimize them.
> >
> > The usual boot parameters "nohz_full=" or "isolcpus=nohz" will now
> > outsource these scheduler ticks to the global workqueue so that a
> > housekeeping CPU handles those remotely. The sched_class::task_tick()
> > implementations have been audited and look safe to be called remotely
> > as the target runqueue and its current task are passed in parameter
> > and don't seem to be accessed locally.
>
> That scares me a bit. Not for the current state of affairs, but we want to
> ensure that this still works in 2 years from now
>
> So at least you want to add a comment to task_tick() which explains the
> constraints which come with the remote tick.

Good point, I'm adding that.

>
> Other than that this looks good!
>
> Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>

Thanks!