Re: [PATCH] sched/core: Reduce cost of sched_move_task when config autogroup

From: Peter Zijlstra
Date: Mon Mar 20 2023 - 04:28:43 EST


On Sun, Mar 19, 2023 at 03:56:43PM +0800, wuchi wrote:
> Some sched_move_task calls of autogroup is useless when the
> task_struct->sched_task_group isn't changed because of task_group
> of cpu_cgroup overlay task_group of autogroup. The overlay key codes
> are as follows:
>
> sched_cgroup_fork->autogroup_task_group->task_wants_autogroup
> sched_change_group->autogroup_task_group->autogroup_task_group
>
> sched_move_task eg:
> task A belongs to cpu_cgroup0 and autogroup0, it will always to
> cpu_cgroup0 when doing exit. So there is no need to do {de|en}queue.
> The call graph is as follow.
>
> do_exit
> sched_autogroup_exit_task
> sched_move_task
> dequeue_task
> sched_change_group
> A.sched_task_group = sched_get_task_group
> enqueue_task
>
> So do some check before dequeue task in sched_move_task.

No immediate objection; but the $subject seems to suggest you did this
for performance reasons, yet there are no performance results in this
Changelog. How much does this save under what load?