Re: [RFC 6/6] sched/fair: Add sched group latency support

From: Vincent Guittot
Date: Tue Mar 15 2022 - 13:07:57 EST


On Tue, 15 Mar 2022 at 01:59, Josh Don <joshdon@xxxxxxxxxx> wrote:
>
> On Fri, Mar 11, 2022 at 8:15 AM Vincent Guittot
> <vincent.guittot@xxxxxxxxxx> wrote:
> >
> [snip]
> >
> > static struct cftype cpu_legacy_files[] = {
> > @@ -10649,6 +10673,11 @@ static struct cftype cpu_legacy_files[] = {
> > .read_s64 = cpu_idle_read_s64,
> > .write_s64 = cpu_idle_write_s64,
> > },
> > + {
> > + .name = "latency",
> > + .read_s64 = cpu_latency_read_s64,
> > + .write_s64 = cpu_latency_write_s64,
> > + },
> > #endif
> > #ifdef CONFIG_CFS_BANDWIDTH
> > {
> > @@ -10866,6 +10895,18 @@ static struct cftype cpu_files[] = {
> > .read_s64 = cpu_idle_read_s64,
> > .write_s64 = cpu_idle_write_s64,
> > },
> > + {
> > + .name = "latency",
> > + .flags = CFTYPE_NOT_ON_ROOT,
> > + .read_s64 = cpu_latency_read_s64,
> > + .write_s64 = cpu_latency_write_s64,
> > + },
> > + {
> > + .name = "latency.nice",
> > + .flags = CFTYPE_NOT_ON_ROOT,
> > + .read_s64 = cpu_latency_nice_read_s64,
> > + .write_s64 = cpu_latency_nice_write_s64,
> > + },
>
> Something I considered when adding cpu.idle was that negative values
> could be used to indicate increasing latency sensitivity. Folding the
> above latency property into cpu.idle could help consolidate the
> "latency" behavior, especially given that it shouldn't really be
> possible to configure an entity as both latency sensitive and idle.

The range of latency nice is [-19:20] and it doesn't touch on the
weight whereas sched_idle behavior impacts both the shares and the
preemption so I was afraid of possible confusion with what latency
nice is doing