Re: [PATCH] sched: cgroup SCHED_IDLE support

From: Josh Don
Date: Thu Jun 10 2021 - 15:16:28 EST


Hey Dietmar,

On Thu, Jun 10, 2021 at 5:53 AM Dietmar Eggemann
<dietmar.eggemann@xxxxxxx> wrote:
>
> Any reason why this should only work on cgroup-v2?

My (perhaps incorrect) assumption that new development should not
extend v1. I'd actually prefer making this work on v1 as well; I'll
add that support.

> struct cftype cpu_legacy_files[] vs. cpu_files[]
>
> [...]
>
> > @@ -11340,10 +11408,14 @@ void init_tg_cfs_entry(struct task_group *tg, struct cfs_rq *cfs_rq,
> >
> > static DEFINE_MUTEX(shares_mutex);
> >
> > -int sched_group_set_shares(struct task_group *tg, unsigned long shares)
> > +#define IDLE_WEIGHT sched_prio_to_weight[ARRAY_SIZE(sched_prio_to_weight) - 1]
>
> Why not 3 ? Like for tasks (WEIGHT_IDLEPRIO)?
>
> [...]

Went back and forth on this; on second look, I do think it makes sense
to use the IDLEPRIO weight of 3 here. This gets converted to a 0,
rather than a 1 for display of cpu.weight, which is also actually a
nice property.