From: Pierre Gondois <pierre.gondois@arm.com>
To: Juri Lelli <juri.lelli@redhat.com>
Cc: Pingfan Liu <piliu@redhat.com>,
Peter Zijlstra <peterz@infradead.org>,
linux-kernel@vger.kernel.org, Ingo Molnar <mingo@redhat.com>,
Vincent Guittot <vincent.guittot@linaro.org>,
Dietmar Eggemann <dietmar.eggemann@arm.com>,
Steven Rostedt <rostedt@goodmis.org>,
Ben Segall <bsegall@google.com>, Mel Gorman <mgorman@suse.de>,
Valentin Schneider <vschneid@redhat.com>
Subject: Re: [PATCH] sched/deadline: Derive root domain from active cpu in task's cpus_ptr
Date: Fri, 10 Oct 2025 18:25:37 +0200 [thread overview]
Message-ID: <3408aca5-e6c9-434a-9950-82e9147fcbba@arm.com> (raw)
In-Reply-To: <aOOyF3EvIG5HKEel@jlelli-thinkpadt14gen4.remote.csb>
On 10/6/25 14:12, Juri Lelli wrote:
> On 06/10/25 12:13, Pierre Gondois wrote:
>> On 9/30/25 11:04, Peter Zijlstra wrote:
>>> On Tue, Sep 30, 2025 at 08:20:06AM +0100, Juri Lelli wrote:
>>>
>>>> I actually wonder if we shouldn't make cppc_fie a "special" DEADLINE
>>>> tasks (like schedutil [1]). IIUC that is how it is thought to behave
>>>> already [2], but, since it's missing the SCHED_FLAG_SUGOV flag(/hack),
>>>> it is not "transparent" from a bandwidth tracking point of view.
>>>>
>>>> 1 -https://elixir.bootlin.com/linux/v6.17/source/kernel/sched/cpufreq_schedutil.c#L661
>>>> 2 -https://elixir.bootlin.com/linux/v6.17/source/drivers/cpufreq/cppc_cpufreq.c#L198
>>> Right, I remember that hack. Bit sad its spreading, but this CPPC thing
>>> is very much like the schedutil one, so might as well do that I suppose.
>> IIUC, the sugov thread was switched to deadline to allow frequency updates
>> when deadline tasks start to run. I.e. there should be no point updating the
>> freq. after the deadline task finished running, cf [1] and [2]
>>
>> The CPPC FIE worker should not require to run that quickly as it seems to be
>> more like a freq. maintenance work (the call comes from the sched tick)
>>
>> sched_tick()
>> \-arch_scale_freq_tick() / topology_scale_freq_tick()
>> \-set_freq_scale() / cppc_scale_freq_tick()
>> \-irq_work_queue()
> OK, but how much bandwidth is enough for it (on different platforms)?
> Also, I am not sure the worker follows cpusets/root domain changes.
>
>
To share some additional information, I could to reproduce the issue by
creating as many deadline tasks with a huge bandwidth that the platform
allows it:
chrt -d -T 1000000 -P 1000000 0 yes > /dev/null &
Then kexec to another kernel. The available bandwidth of the root domain
gradually decreases with the number of CPUs unplugged.
At some point, there is not enough bandwidth and an overflow is detected.
(Same call stack as in the original message).
So I'm not sure this is really related to the cppc_fie thread.
I think it's more related to checking the available bandwidth in a context
which is not appropriate. The deadline bandwidth might lack when the
platform
is reset, but this should not be that important.
---
Question:
Since the cppc_fie worker doesn't have the SCHED_FLAG_SUGOV flag,
is this comment actually correct ?
/*
* Fake (unused) bandwidth; workaround to "fix"
* priority inheritance.
*/
---
On a non-deadline related topic, the CPPC drivers creates a cppc_fie
worker in
case the CPPC counters to estimate the current frequency are in PCC
channels.
Accessing these channels requires to go through sleeping sections,
that's why a worker is used.
However, CPPC counters might be accessed through FFH, which doesn't go
through
sleeping sections. In such case, the cppc_fie worker is never used and never
removed, so it would be nice to remote it.
next prev parent reply other threads:[~2025-10-10 16:26 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-09-29 13:36 Pingfan Liu
2025-09-29 13:53 ` Peter Zijlstra
2025-09-30 1:47 ` Pingfan Liu
2025-09-30 7:20 ` Juri Lelli
2025-09-30 9:04 ` Peter Zijlstra
2025-10-06 10:20 ` Pierre Gondois
[not found] ` <45e40d5e-f0b9-4c77-af1e-6ac915518acc@arm.com>
2025-10-06 12:12 ` Juri Lelli
2025-10-10 16:25 ` Pierre Gondois [this message]
2025-10-14 13:09 ` Pingfan Liu
2025-10-15 9:35 ` Juri Lelli
2025-10-16 11:37 ` Pierre Gondois
2025-10-16 12:17 ` Pingfan Liu
2025-10-16 14:26 ` Pierre Gondois
2025-10-16 12:20 ` Pingfan Liu
2025-09-30 9:03 ` Peter Zijlstra
2025-10-01 13:15 ` Pingfan Liu
2025-09-29 14:37 ` Juri Lelli
2025-09-30 1:43 ` Pingfan Liu
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=3408aca5-e6c9-434a-9950-82e9147fcbba@arm.com \
--to=pierre.gondois@arm.com \
--cc=bsegall@google.com \
--cc=dietmar.eggemann@arm.com \
--cc=juri.lelli@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mgorman@suse.de \
--cc=mingo@redhat.com \
--cc=peterz@infradead.org \
--cc=piliu@redhat.com \
--cc=rostedt@goodmis.org \
--cc=vincent.guittot@linaro.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
all inboxes | Powered by JetHome®