Messages in this thread | | | From | Vincent Guittot <> | Date | Mon, 19 Sep 2022 17:49:27 +0200 | Subject | Re: [PATCH v4 6/8] sched/fair: Add sched group latency support |
| |
On Mon, 19 Sept 2022 at 13:55, Dietmar Eggemann <dietmar.eggemann@arm.com> wrote: > > s/valentin.schneider@arm.com// > > On 16/09/2022 10:03, Vincent Guittot wrote: > > Task can set its latency priority, which is then used to decide to preempt > > the current running entity of the cfs, but sched group entities still have > > the default latency offset. > > > > Add a latency field in task group to set the latency offset of the > > sched_eneities of the group, which will be used against other entities in > > s/sched_eneities/sched_entity > > > the parent cfs when deciding which entity to schedule first. > > So latency for cgroups does not follow any (existing) Resource > Distribution Model/Scheme (Documentation/admin-guide/cgroup-v2.rst)? > Latency values are only used to compare sched entities at the same level.
Just like share/cpu.weight value does for time sharing
> > [...] > > > +static int cpu_latency_write_s64(struct cgroup_subsys_state *css, > > + struct cftype *cft, s64 latency) > > +{ > > There is no [MIN, MAX] checking?
This is done is sched_group_set_latency() which checks that abs(latency) < sysctl_sched_latency
> > min_weight = sched_latency_to_weight[0] = -1024 > max_weight = sched_latency_to_weight[39] = 973 > > [MIN, MAX] = [sysctl_sched_latency * min_weight >> NICE_LATENCY_SHIFT, > sysctl_sched_latency * max_weight >> NICE_LATENCY_SHIFT] > > > With the `cpu.latency` knob user would have to know for example that the > value is -24,000,000ns to get the same behaviour as for a task latency > nice = -20 (latency prio = 0) (w/ sysctl_sched_latency = 24ms)?
Yes, Tejun raised some concerns about adding an interface like nice in the task group in v2 so I have removed it.
> > For `nice` we have `cpu.weight.nice` next to `cpu.weight` in cgroup v2 ?
If everybody is ok, I can add back the cpu.latency.nice interface in the v5 in addition to the cpu.latency
> > [...]
| |