Re: [PATCH v2 08/12] sched/core: uclamp: extend cpu's cgroup controller

From: Quentin Perret
Date: Fri Jul 27 2018 - 04:09:12 EST


On Thursday 26 Jul 2018 at 17:39:19 (-0700), Joel Fernandes wrote:
> On Tue, Jul 24, 2018 at 06:29:02AM -0700, Tejun Heo wrote:
> > Hello, Patrick.
> >
> > On Mon, Jul 23, 2018 at 06:22:15PM +0100, Patrick Bellasi wrote:
> > > However, the "best effort" bandwidth control we have for CFS and RT
> > > can be further improved if, instead of just looking at time spent on
> > > CPUs, we provide some more hints to the scheduler to know at which
> > > min/max "MIPS" we want to consume the (best effort) time we have been
> > > allocated on a CPU.
> > >
> > > Such a simple extension is still quite useful to satisfy many use-case
> > > we have, mainly on mobile systems, like the ones I've described in the
> > > "Newcomer's Short Abstract (Updated)"
> > > section of the cover letter:
> > > https://lore.kernel.org/lkml/20180716082906.6061-1-patrick.bellasi@xxxxxxx/T/#u
> >
> > So, that's all completely fine but then let's please not give it a
> > name which doesn't quite match what it does. We can just call it
> > e.g. cpufreq range control.
>
> But then what name can one give it if it does more than one thing, like
> task-placement and CPU frequency control?
>
> It doesn't make sense to name it cpufreq IMHO. Its a clamp on the utilization
> of the task which can be used for many purposes.

Indeed, the scheduler could use clamped utilization values in several
places. The capacity-awareness bits (mostly useful for big.LITTLE
platforms) could already use that today I guess.

And on the longer term, depending on where the EAS patches [1] end up,
utilization clamping might actually become very useful to bias task
placement decisions. EAS basically decides where to place tasks based on
their utilization, so util_clamp would make a lot of sense there IMO.

Thanks,
Quentin

[1] https://lkml.org/lkml/2018/7/24/420