From: Christian Loehle <christian.loehle@arm.com>
To: Jon Hunter <jonathanh@nvidia.com>,
Dietmar Eggemann <dietmar.eggemann@arm.com>,
Juri Lelli <juri.lelli@redhat.com>
Cc: Thierry Reding <treding@nvidia.com>,
Waiman Long <longman@redhat.com>, Tejun Heo <tj@kernel.org>,
Johannes Weiner <hannes@cmpxchg.org>,
Michal Koutny <mkoutny@suse.com>, Ingo Molnar <mingo@redhat.com>,
Peter Zijlstra <peterz@infradead.org>,
Vincent Guittot <vincent.guittot@linaro.org>,
Steven Rostedt <rostedt@goodmis.org>,
Ben Segall <bsegall@google.com>, Mel Gorman <mgorman@suse.de>,
Valentin Schneider <vschneid@redhat.com>,
Phil Auld <pauld@redhat.com>, Qais Yousef <qyousef@layalina.io>,
Sebastian Andrzej Siewior <bigeasy@linutronix.de>,
"Joel Fernandes (Google)" <joel@joelfernandes.org>,
Suleiman Souhlal <suleiman@google.com>,
Aashish Sharma <shraash@google.com>,
Shin Kawamura <kawasin@google.com>,
Vineeth Remanan Pillai <vineeth@bitbyteword.org>,
linux-kernel@vger.kernel.org, cgroups@vger.kernel.org,
"linux-tegra@vger.kernel.org" <linux-tegra@vger.kernel.org>
Subject: Re: [PATCH v2 3/2] sched/deadline: Check bandwidth overflow earlier for hotplug
Date: Fri, 7 Feb 2025 15:55:09 +0000 [thread overview]
Message-ID: <8ff19556-a656-4f11-a10c-6f9b92ec9cea@arm.com> (raw)
In-Reply-To: <db800694-84f7-443c-979f-3097caaa1982@nvidia.com>
On 2/7/25 14:04, Jon Hunter wrote:
>
>
> On 07/02/2025 13:38, Dietmar Eggemann wrote:
>> On 07/02/2025 11:38, Jon Hunter wrote:
>>>
>>> On 06/02/2025 09:29, Juri Lelli wrote:
>>>> On 05/02/25 16:56, Jon Hunter wrote:
>>>>
>>>> ...
>>>>
>>>>> Thanks! That did make it easier :-)
>>>>>
>>>>> Here is what I see ...
>>>>
>>>> Thanks!
>>>>
>>>> Still different from what I can repro over here, so, unfortunately, I
>>>> had to add additional debug printks. Pushed to the same branch/repo.
>>>>
>>>> Could I ask for another run with it? Please also share the complete
>>>> dmesg from boot, as I would need to check debug output when CPUs are
>>>> first onlined.
>>
>> So you have a system with 2 big and 4 LITTLE CPUs (Denver0 Denver1 A57_0
>> A57_1 A57_2 A57_3) in one MC sched domain and (Denver1 and A57_0) are
>> isol CPUs?
>
> I believe that 1-2 are the denvers (even thought they are listed as 0-1 in device-tree).
Interesting, I have yet to reproduce this with equal capacities in isolcpus.
Maybe I didn't try hard enough yet.
>
>> This should be easy to set up for me on my Juno-r0 [A53 A57 A57 A53 A53 A53]
>
> Yes I think it is similar to this.
>
> Thanks!
> Jon
>
I could reproduce that on a different LLLLbb with isolcpus=3,4 (Lb) and
the offlining order:
echo 0 > /sys/devices/system/cpu/cpu5/online
echo 0 > /sys/devices/system/cpu/cpu1/online
echo 0 > /sys/devices/system/cpu/cpu3/online
echo 0 > /sys/devices/system/cpu/cpu2/online
echo 0 > /sys/devices/system/cpu/cpu4/online
while the following offlining order succeeds:
echo 0 > /sys/devices/system/cpu/cpu5/online
echo 0 > /sys/devices/system/cpu/cpu4/online
echo 0 > /sys/devices/system/cpu/cpu1/online
echo 0 > /sys/devices/system/cpu/cpu2/online
echo 0 > /sys/devices/system/cpu/cpu3/online
(Both offline an isolcpus last, both have CPU0 online)
The issue only triggers with sugov DL threads (I guess that's obvious, but
just to mention it).
I'll investigate some more later but wanted to share for now.
A log just to ensure we're looking at the same thing (this is just 6.14-rc1
with Juri's printk):
Successful offlining:
# echo 0 > /sys/devices/system/cpu/cpu5/online
[ 37.063862] dl_bw_manage: cpu=5 cap=1143 fair_server_bw=52428 total_bw=314569 dl_bw_cpus=4
[ 37.070925] CPU0 attaching NULL sched-domain.
[ 37.071323] CPU1 attaching NULL sched-domain.
[ 37.071743] CPU2 attaching NULL sched-domain.
[ 37.072135] CPU5 attaching NULL sched-domain.
[ 37.072618] CPU0 attaching sched-domain(s):
[ 37.073008] domain-0: span=0-2 level=MC
[ 37.073370] groups: 0:{ span=0 cap=379 }, 1:{ span=1 cap=380 }, 2:{ span=2 cap=381 }
[ 37.074131] CPU1 attaching sched-domain(s):
[ 37.074503] domain-0: span=0-2 level=MC
[ 37.074871] groups: 1:{ span=1 cap=380 }, 2:{ span=2 cap=381 }, 0:{ span=0 cap=379 }
[ 37.075614] CPU2 attaching sched-domain(s):
[ 37.075998] domain-0: span=0-2 level=MC
[ 37.076354] groups: 2:{ span=2 cap=381 }, 0:{ span=0 cap=379 }, 1:{ span=1 cap=380 }
[ 37.077108] root domain span: 0-2
[ 37.077425] rd 0-2: Checking EAS, CPUs do not have asymmetric capacities
[ 37.078028] sched_energy_set: stopping EAS
[ 37.086645] psci: CPU5 killed (polled 1 ms)
# echo 0 > /sys/devices/system/cpu/cpu4/online
[ 40.357879] dl_bw_manage: cpu=4 cap=1024 fair_server_bw=52428 total_bw=209713 dl_bw_cpus=2
[ 40.367705] rd 0-2: Checking EAS, CPUs do not have asymmetric capacities
[ 40.379707] psci: CPU4 killed (polled 1 ms)
[ 40.380449] rd 0-2: Checking EAS, CPUs do not have asymmetric capacities
# echo 0 > /sys/devices/system/cpu/cpu1/online
[ 43.285829] dl_bw_manage: cpu=1 cap=762 fair_server_bw=52428 total_bw=262141 dl_bw_cpus=3
[ 43.295728] CPU0 attaching NULL sched-domain.
[ 43.296139] CPU1 attaching NULL sched-domain.
[ 43.296535] CPU2 attaching NULL sched-domain.
[ 43.297116] CPU0 attaching sched-domain(s):
[ 43.297496] domain-0: span=0,2 level=MC
[ 43.297893] groups: 0:{ span=0 cap=380 }, 2:{ span=2 cap=381 }
[ 43.298491] CPU2 attaching sched-domain(s):
[ 43.298891] domain-0: span=0,2 level=MC
[ 43.299257] groups: 2:{ span=2 cap=381 }, 0:{ span=0 cap=380 }
[ 43.299866] root domain span: 0,2
[ 43.300203] rd 0,2: Checking EAS, CPUs do not have asymmetric capacities
[ 43.315715] psci: CPU1 killed (polled 1 ms)
# echo 0 > /sys/devices/system/cpu/cpu2/online
[ 46.975824] dl_bw_manage: cpu=2 cap=381 fair_server_bw=52428 total_bw=104856 dl_bw_cpus=2
[ 46.981728] CPU0 attaching NULL sched-domain.
[ 46.982138] CPU2 attaching NULL sched-domain.
[ 46.982649] CPU0 attaching NULL sched-domain.
[ 46.983078] root domain span: 0
[ 46.983399] rd 0: Checking EAS, CPUs do not have asymmetric capacities
[ 46.993699] psci: CPU2 killed (polled 1 ms)
# echo 0 > /sys/devices/system/cpu/cpu3/online
[ 49.858842] dl_bw_manage: cpu=3 cap=0 fair_server_bw=52428 total_bw=52428 dl_bw_cpus=1
[ 49.865730] rd 0: Checking EAS, CPUs do not have asymmetric capacities
[ 49.877688] psci: CPU3 killed (polled 2 ms)
#
Failed offlining:
# echo 0 > /sys/devices/system/cpu/cpu5/online
[ 29.596992] dl_bw_manage: cpu=5 cap=1143 fair_server_bw=52428 total_bw=314569 dl_bw_cpus=4
[ 29.607022] CPU0 attaching NULL sched-domain.
[ 29.607419] CPU1 attaching NULL sched-domain.
[ 29.607838] CPU2 attaching NULL sched-domain.
[ 29.608228] CPU5 attaching NULL sched-domain.
[ 29.608732] CPU0 attaching sched-domain(s):
[ 29.609124] domain-0: span=0-2 level=MC
[ 29.609485] groups: 0:{ span=0 cap=380 }, 1:{ span=1 cap=381 }, 2:{ span=2 cap=381 }
[ 29.610245] CPU1 attaching sched-domain(s):
[ 29.610617] domain-0: span=0-2 level=MC
[ 29.610986] groups: 1:{ span=1 cap=381 }, 2:{ span=2 cap=381 }, 0:{ span=0 cap=380 }
[ 29.611731] CPU2 attaching sched-domain(s):
[ 29.612122] domain-0: span=0-2 level=MC
[ 29.612478] groups: 2:{ span=2 cap=381 }, 0:{ span=0 cap=380 }, 1:{ span=1 cap=381 }
[ 29.613230] root domain span: 0-2
[ 29.613547] rd 0-2: Checking EAS, CPUs do not have asymmetric capacities
[ 29.614152] sched_energy_set: stopping EAS
[ 29.629987] psci: CPU5 killed (polled 0 ms)
# echo 0 > /sys/devices/system/cpu/cpu1/online
[ 32.945954] dl_bw_manage: cpu=1 cap=762 fair_server_bw=52428 total_bw=262141 dl_bw_cpus=3
[ 32.955858] CPU0 attaching NULL sched-domain.
[ 32.956269] CPU1 attaching NULL sched-domain.
[ 32.956662] CPU2 attaching NULL sched-domain.
[ 32.957244] CPU0 attaching sched-domain(s):
[ 32.957624] domain-0: span=0,2 level=MC
[ 32.958021] groups: 0:{ span=0 cap=380 }, 2:{ span=2 cap=381 }
[ 32.958617] CPU2 attaching sched-domain(s):
[ 32.959015] domain-0: span=0,2 level=MC
[ 32.959381] groups: 2:{ span=2 cap=381 }, 0:{ span=0 cap=380 }
[ 32.959993] root domain span: 0,2
[ 32.960330] rd 0,2: Checking EAS, CPUs do not have asymmetric capacities
[ 32.972841] psci: CPU1 killed (polled 1 ms)
# echo 0 > /sys/devices/system/cpu/cpu3/online
[ 35.921962] dl_bw_manage: cpu=3 cap=1024 fair_server_bw=52428 total_bw=314570 dl_bw_cpus=2
[ 35.927945] rd 0,2: Checking EAS, CPUs do not have asymmetric capacities
[ 35.935828] psci: CPU3 killed (polled 1 ms)
# echo 0 > /sys/devices/system/cpu/cpu2/online
[ 38.999952] dl_bw_manage: cpu=2 cap=381 fair_server_bw=52428 total_bw=209713 dl_bw_cpus=2
[ 39.005003] CPU0 attaching NULL sched-domain.
[ 39.005412] CPU2 attaching NULL sched-domain.
[ 39.005969] CPU0 attaching NULL sched-domain.
[ 39.006370] root domain span: 0
[ 39.006687] rd 0: Checking EAS, CPUs do not have asymmetric capacities
[ 39.016825] psci: CPU2 killed (polled 1 ms)
# echo 0 > /sys/devices/system/cpu/cpu4/online
sh: write error: Device or resource busy
# [ 42.936031] dl_bw_manage: cpu=4 cap=0 fair_server_bw=52428 total_bw=157285 dl_bw_cpus=1
cat /sys/devices/system/cpu/cpu*/cpu_capacity
381
381
381
381
1024
1024
next prev parent reply other threads:[~2025-02-07 15:55 UTC|newest]
Thread overview: 68+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20241114142810.794657-1-juri.lelli@redhat.com>
[not found] ` <ZzYhyOQh3OAsrPo9@jlelli-thinkpadt14gen4.remote.csb>
[not found] ` <Zzc1DfPhbvqDDIJR@jlelli-thinkpadt14gen4.remote.csb>
2025-01-10 11:52 ` [PATCH v2 3/2] sched/deadline: Check bandwidth overflow earlier for hotplug Jon Hunter
2025-01-10 15:45 ` Juri Lelli
2025-01-10 18:40 ` Jon Hunter
2025-01-13 9:32 ` Juri Lelli
2025-01-13 13:53 ` Jon Hunter
2025-01-14 13:52 ` Jon Hunter
2025-01-14 14:02 ` Juri Lelli
2025-01-15 16:10 ` Juri Lelli
2025-01-16 13:14 ` Jon Hunter
2025-01-16 15:55 ` Juri Lelli
2025-02-03 11:01 ` Jon Hunter
2025-02-04 17:26 ` Juri Lelli
2025-02-05 6:53 ` Juri Lelli
2025-02-05 10:12 ` Juri Lelli
2025-02-05 16:56 ` Jon Hunter
2025-02-06 9:29 ` Juri Lelli
2025-02-07 10:38 ` Jon Hunter
2025-02-07 13:38 ` Dietmar Eggemann
2025-02-07 14:04 ` Jon Hunter
2025-02-07 15:55 ` Christian Loehle [this message]
2025-02-10 17:09 ` Juri Lelli
2025-02-11 8:36 ` Dietmar Eggemann
2025-02-11 9:21 ` Juri Lelli
2025-02-11 10:43 ` Dietmar Eggemann
2025-02-11 10:15 ` Christian Loehle
2025-02-11 10:42 ` Juri Lelli
2025-02-12 18:22 ` Dietmar Eggemann
2025-02-13 6:20 ` Juri Lelli
2025-02-13 12:27 ` Christian Loehle
2025-02-13 13:33 ` Juri Lelli
2025-02-13 13:38 ` Christian Loehle
2025-02-13 14:51 ` Juri Lelli
2025-02-13 14:57 ` Christian Loehle
2025-02-16 16:33 ` Qais Yousef
2025-02-17 14:52 ` Juri Lelli
2025-02-22 23:59 ` Qais Yousef
2025-02-24 9:27 ` Juri Lelli
2025-02-25 0:02 ` Qais Yousef
2025-02-25 9:46 ` Juri Lelli
2025-02-25 10:09 ` Christian Loehle
2025-02-12 23:01 ` Jon Hunter
2025-02-13 6:16 ` Juri Lelli
2025-02-13 9:53 ` Jon Hunter
2025-02-14 10:05 ` Jon Hunter
2025-02-17 16:08 ` Juri Lelli
2025-02-17 16:10 ` Jon Hunter
2025-02-17 16:25 ` Juri Lelli
2025-02-18 9:58 ` Juri Lelli
2025-02-18 10:30 ` Juri Lelli
2025-02-18 14:12 ` Dietmar Eggemann
2025-02-18 14:18 ` Juri Lelli
2025-02-19 9:29 ` Dietmar Eggemann
2025-02-19 10:02 ` Juri Lelli
2025-02-19 11:23 ` Jon Hunter
2025-02-19 13:09 ` Dietmar Eggemann
2025-02-19 18:14 ` Dietmar Eggemann
2025-02-20 10:40 ` Juri Lelli
2025-02-20 15:25 ` Juri Lelli
2025-02-21 11:56 ` Jon Hunter
2025-02-21 14:45 ` Dietmar Eggemann
2025-02-24 13:53 ` Dietmar Eggemann
2025-02-24 14:03 ` Juri Lelli
2025-02-24 23:39 ` Jon Hunter
2025-02-25 9:48 ` Juri Lelli
2025-03-03 14:17 ` Jon Hunter
2025-03-03 16:00 ` Juri Lelli
2025-02-07 14:04 ` Jon Hunter
2025-02-07 15:52 ` Juri Lelli
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=8ff19556-a656-4f11-a10c-6f9b92ec9cea@arm.com \
--to=christian.loehle@arm.com \
--cc=bigeasy@linutronix.de \
--cc=bsegall@google.com \
--cc=cgroups@vger.kernel.org \
--cc=dietmar.eggemann@arm.com \
--cc=hannes@cmpxchg.org \
--cc=joel@joelfernandes.org \
--cc=jonathanh@nvidia.com \
--cc=juri.lelli@redhat.com \
--cc=kawasin@google.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-tegra@vger.kernel.org \
--cc=longman@redhat.com \
--cc=mgorman@suse.de \
--cc=mingo@redhat.com \
--cc=mkoutny@suse.com \
--cc=pauld@redhat.com \
--cc=peterz@infradead.org \
--cc=qyousef@layalina.io \
--cc=rostedt@goodmis.org \
--cc=shraash@google.com \
--cc=suleiman@google.com \
--cc=tj@kernel.org \
--cc=treding@nvidia.com \
--cc=vincent.guittot@linaro.org \
--cc=vineeth@bitbyteword.org \
--cc=vschneid@redhat.com \
/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