Re: [PATCH] /sched/core: Fix Unixbench spawn test regression

From: Vincent Guittot
Date: Tue Mar 11 2025 - 12:35:49 EST


On Mon, 10 Mar 2025 at 16:29, Dietmar Eggemann <dietmar.eggemann@xxxxxxx> wrote:
>
> On 10/03/2025 14:59, Vincent Guittot wrote:
> > On Thu, 6 Mar 2025 at 17:26, Dietmar Eggemann <dietmar.eggemann@xxxxxxx> wrote:
> >>
> >> Hagar reported a 30% drop in UnixBench spawn test with commit
> >> eff6c8ce8d4d ("sched/core: Reduce cost of sched_move_task when config
> >> autogroup") on a m6g.xlarge AWS EC2 instance with 4 vCPUs and 16 GiB RAM
> >> (aarch64) (single level MC sched domain) [1].
> >>
> >> There is an early bail from sched_move_task() if p->sched_task_group is
> >> equal to p's 'cpu cgroup' (sched_get_task_group()). E.g. both are
> >> pointing to taskgroup '/user.slice/user-1000.slice/session-1.scope'
> >> (Ubuntu '22.04.5 LTS').
> >
> > Isn't this same use case that has been used by commit eff6c8ce8d4d to
> > show the benefit of adding the test if ((group ==
> > tsk->sched_task_group) ?
> > Adding Wuchi who added the condition
>
> IMHO, UnixBench spawn reports a performance number according to how many
> tasks could be spawned whereas, IIUC, commit eff6c8ce8d4d was reporting
> the time spend in sched_move_task().

But does not your patch revert the benefits shown in the figures of
commit eff6c8ce8d4d ? It skipped sched_move task in do_exit autogroup
and you adds it back


>
> [...]