Re: [RFC PATCH 1/9] sched,cgroup: Add interface for latency-nice

From: Joel Fernandes
Date: Wed Apr 15 2020 - 20:02:48 EST


On Thu, Sep 05, 2019 at 12:47:26PM +0100, Qais Yousef wrote:
> On 09/05/19 13:30, Peter Zijlstra wrote:
> > On Thu, Sep 05, 2019 at 12:13:47PM +0100, Qais Yousef wrote:
> > > On 09/05/19 12:46, Peter Zijlstra wrote:
> >
> > > > This is important because we want to be able to bias towards less
> > > > importance to (tail) latency as well as more importantance to (tail)
> > > > latency.
> > > >
> > > > Specifically, Oracle wants to sacrifice (some) latency for throughput.
> > > > Facebook OTOH seems to want to sacrifice (some) throughput for latency.
> > >
> > > Another use case I'm considering is using latency-nice to prefer an idle CPU if
> > > latency-nice is set otherwise go for the most energy efficient CPU.
> > >
> > > Ie: sacrifice (some) energy for latency.
> > >
> > > The way I see interpreting latency-nice here as a binary switch. But
> > > maybe we can use the range to select what (some) energy to sacrifice
> > > mean here. Hmmm.
> >
> > It cannot be binary, per definition is must be ternary, that is, <0, ==0
> > and >0 (or middle value if you're of that persuasion).
>
> I meant I want to use it as a binary.
>
> >
> > In your case, I'm thinking you mean >0, we want to lower the latency.
>
> Yes. As long as there's an easy way to say: does this task care about latency
> or not I'm good.

Qais, Peter, all,

For ChromeOS (my team), we are planning to use the upstream uclamp mechanism
instead of the out-of-tree schedtune mechanism to provide EAS with the
latency-sensitivity (binary/ternary) hint. ChromeOS is thankfully quite a bit
upstream focussed :)

However, uclamp is missing an attribute to provide this biasing to EAS as we
know.

What was the consensus on adding a per-task attribute to uclamp for providing
this? Happy to collaborate on this front.

thanks,

- Joel


> > Anyway; there were a number of things mentioned at OSPM that we could
> > tie into this thing and finding sensible mappings is going to be a bit
> > of trial and error I suppose.
> >
> > But as patrick said; we're very much exporting a BIAS knob, not a set of
> > behaviours.
>
> Agreed. I just wanted to say that the way this range is going to be
> interpreted will differ from path to path and we need to consider that in the
> final mapping. Especially from the final user's perspective of what setting
> this value ultimately means to them.
>
> --
> Qais Yousef