Re: [External] Re: [PATCH v2 04/10] sched/fair: remove redundant cpu_cgrp_subsys->fork()

From: Chengming Zhou
Date: Thu Jul 14 2022 - 09:06:16 EST


On 2022/7/14 20:31, Dietmar Eggemann wrote:
> On 13/07/2022 06:04, Chengming Zhou wrote:
>> We use cpu_cgrp_subsys->fork() to set task group for the new fair task
>> in cgroup_post_fork().
>>
>> Since commit b1e8206582f9 ("sched: Fix yet more sched_fork() races")
>> has already set task group for the new fair task in sched_cgroup_fork(),
>> so cpu_cgrp_subsys->fork() can be removed.
>>
>> cgroup_can_fork() --> pin parent's sched_task_group
>> sched_cgroup_fork()
>
> Don't we set the task group (`p->sched_task_group = tg`) now directly in
> sched_cgroup_fork() and not in __set_task_cpu()?

Correct, it's my fault, what I want to say is "__set_task_cpu() --> set_task_rq()".
I will fix it next version.

>
>> __set_task_cpu --> set task group
>> cgroup_post_fork()
>> ss->fork() := cpu_cgroup_fork() --> set again
>
> nit pick:
>
> cpu_cgroup_fork() -> sched_change_group(..., TASK_SET_GROUP)

Ok, will add this.

Thanks.

>
>> After this patch's change, task_change_group_fair() only need to
>> care about task cgroup migration, make the code much simplier.
>>
>> Signed-off-by: Chengming Zhou <zhouchengming@xxxxxxxxxxxxx>
>> Reviewed-by: Vincent Guittot <vincent.guittot@xxxxxxxxxx>
>
> LGTM too.
>
> Reviewed-by: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>
>
> [...]