public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Dietmar Eggemann <dietmar.eggemann@arm.com>
To: Hagar Hemdan <hagarhem@amazon.com>
Cc: abuehaze@amazon.com, linux-kernel@vger.kernel.org
Subject: Re: BUG Report: Fork benchmark drop by 30% on aarch64
Date: Tue, 11 Feb 2025 17:27:47 +0100	[thread overview]
Message-ID: <4b48fd24-6cd5-474c-bed8-3faac096fd58@arm.com> (raw)
In-Reply-To: <20250210213155.GA649@amazon.com>

On 10/02/2025 22:31, Hagar Hemdan wrote:
> On Mon, Feb 10, 2025 at 11:38:51AM +0100, Dietmar Eggemann wrote:
>> On 07/02/2025 12:07, Hagar Hemdan wrote:
>>> On Fri, Feb 07, 2025 at 10:14:54AM +0100, Dietmar Eggemann wrote:
>>>> Hi Hagar,
>>>>
>>>> On 05/02/2025 16:10, Hagar Hemdan wrote:

[...]

>> The 'spawn' tasks in sched_move_task() are 'running' and 'queued' so we
>> call dequeue_task(), put_prev_task(), enqueue_task() and
>> set_next_task().
>>
>> I guess what we need here is the cfs_rq->avg.load_avg (cpu_load() in
>> case of root tg) update in:
>>
>>   task_change_group_fair() -> detach_task_cfs_rq() -> ...,
>>   attach_task_cfs_rq() -> ...
>>
>> since this is used for WF_FORK, WF_EXEC handling in wakeup:
>>
>>   select_task_rq_fair() -> sched_balance_find_dst_cpu() ->
>>   sched_balance_find_dst_group_cpu()
>>
>> in form of 'least_loaded_cpu' and 'load = cpu_load(cpu_rq(i)'.
>>
>> You mentioned AutoGroups (AG). I don't see this issue on my Debian 12
>> Juno-r0 Arm64 board. When I run w/ AG, 'group' is '/' and
>> 'tsk->sched_task_group' is '/autogroup-x' so the condition 'if (group ==
>> tsk->sched_task_group)' isn't true in sched_move_task(). If I disable AG
>> then they match "/" == "/".
>>
>> I assume you run Ubuntu on your AWS instances? What kind of
>> 'cgroup/taskgroup' related setup are you using?
> 
> I'm running AL2023 and use Vanilla kernel 6.13.1 on m6g.xlarge AWS instance.
> AL2023 uses cgroupv2 by default.
>>
>> Can you run w/ this debug snippet w/ and w/o AG enabled?
> 
> I have run that and have attached the trace files to this email.

Thanks!

So w/ AG you see that 'group' and 'tsk->sched_task_group' are both
'/user.slice/user-1000.slice/session-1.scope' so we bail for those tasks
w/o doing the 'cfs_rq->avg.load_avg' update I described above.

You said that there is no issue w/o AG. Unfortunately your 'w/o AG'
trace does not contain any evidence that you ran UnixBench's './Run -c 4
spawn' since there are no lines for tasks with p->comm='spawn'. Could
you rerun this please. My hunch is that 'group' and
'tsk->sched_task_group' differ w/o AG?

[...]

  reply	other threads:[~2025-02-11 16:27 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-02-05 15:10 BUG Report: Fork benchmark drop by 30% on aarch64 Hagar Hemdan
2025-02-07  9:14 ` Dietmar Eggemann
2025-02-07 11:07   ` Hagar Hemdan
2025-02-10 10:38     ` Dietmar Eggemann
2025-02-10 21:31       ` Hagar Hemdan
2025-02-11 16:27         ` Dietmar Eggemann [this message]
2025-02-11 21:40           ` Hagar Hemdan
2025-02-13 18:55             ` Dietmar Eggemann
2025-02-17 22:51               ` Dietmar Eggemann
2025-02-21  6:44                 ` Hagar Hemdan
2025-03-03 10:05                   ` Dietmar Eggemann
2025-03-03 13:57                     ` Hagar Hemdan
2025-02-28 19:39                 ` Hagar Hemdan
2025-03-03 10:06                   ` Dietmar Eggemann

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4b48fd24-6cd5-474c-bed8-3faac096fd58@arm.com \
    --to=dietmar.eggemann@arm.com \
    --cc=abuehaze@amazon.com \
    --cc=hagarhem@amazon.com \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox