From: K Prateek Nayak <kprateek.nayak@amd.com>
To: Juri Lelli <juri.lelli@redhat.com>
Cc: Andrea Righi <arighi@nvidia.com>,
John Stultz <jstultz@google.com>,
"Peter Zijlstra" <peterz@infradead.org>,
LKML <linux-kernel@vger.kernel.org>,
Valentin Schneider <valentin.schneider@arm.com>,
Connor O'Brien <connoro@google.com>,
Ingo Molnar <mingo@redhat.com>,
Thomas Gleixner <tglx@linutronix.de>,
Vincent Guittot <vincent.guittot@linaro.org>,
"Valentin Schneider" <vschneid@redhat.com>,
Suleiman Souhlal <suleiman@google.com>,
Metin Kaya <Metin.Kaya@arm.com>,
Dietmar Eggemann <dietmar.eggemann@arm.com>,
Steven Rostedt <rostedt@goodmis.org>,
Zimuzo Ezeozue <zezeozue@google.com>,
Waiman Long <longman@redhat.com>,
Boqun Feng <boqun.feng@gmail.com>,
"Paul E. McKenney" <paulmck@kernel.org>,
Joel Fernandes <joelagnelf@nvidia.com>,
"Qais Yousef" <qyousef@layalina.io>,
Xuewen Yan <xuewen.yan94@gmail.com>,
kuyo chang <kuyo.chang@mediatek.com>, hupu <hupu.gm@gmail.com>,
Zhan Xusheng <zhanxusheng@xiaomi.com>,
"zhidao su (Xiaomi)" <soolaugust@gmail.com>,
Hui Su <sh_def@163.com>,
"Shubhang Kaushik (Ampere)" <sh@gentwo.org>,
<kernel-team@android.com>
Subject: Re: [PATCH v33 7/7] sched/proxy: Add deactivated (sleeping) owner handling to find_proxy_task()
Date: Thu, 29 Oct 2026 08:57:11 +0530 [thread overview]
Message-ID: <faec8c94-0837-430b-ba60-00fa4a8a5eb4@amd.com> (raw)
In-Reply-To: <auHQJ8vq6VtL2Uf0@jlelli-thinkpadt14gen4.remote.csb>
Hello Juri,
On 10/28/2026 4:06 PM, Juri Lelli wrote:
>> Ack! But this is only needed for wakeup so just:
>>
>> diff --git a/kernel/sched/deadline.c b/kernel/sched/deadline.c
>> index c0ebdcde5fe5..20c388b55c50 100644
>> --- a/kernel/sched/deadline.c
>> +++ b/kernel/sched/deadline.c
>> @@ -2657,7 +2657,7 @@ static void migrate_task_rq_dl(struct task_struct *p, int new_cpu __maybe_unused
>> struct rq_flags rf;
>> struct rq *rq;
>>
>> - if (READ_ONCE(p->__state) != TASK_WAKING)
>> + if (task_on_rq_migrating(rq))
>> return;
>>
>> rq = task_rq(p);
>> ---
>>
>> should be enough then?
>
> It is enough, but I now fear too 'broad'? :)
>
> Looks like dl_task_offline_migration() ends up here via set_task_cpu();
> in that case the task was throttled and found the cpu was running on has
> been hotplugged so it needs a new cpu at replenishment. All bandwidth
> accouting is done by dl_task_offline_migration() itself, the task is not
> WAKING so migrate_task_rq_dl() has nothing to do and bails early
> correctly. If we use task_on_rq_migrating() it won't bail early anymore
> and double subtracting? Adding !p->is_blocked seems to cover this case
> as well?
Ack! '!task_on_migrating(p) && p->is_blocked' should cover all cases.
That said, the way dl_task_offline_migration() migrates the throttled
task off an offline rq is interesting :-)
--
Thanks and Regards,
Prateek
next prev parent reply other threads:[~2026-10-29 3:27 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-23 22:04 [PATCH v33 0/7] Sleeping Owner Handling for Proxy Execution (v33) John Stultz
2026-10-23 22:04 ` [PATCH v33 1/7] sched/psi: Preserve sleep-persistent PSI flags on off-CPU sleeping dequeues John Stultz
2026-10-24 11:44 ` Peter Zijlstra
2026-10-26 5:00 ` K Prateek Nayak
2026-10-26 4:32 ` K Prateek Nayak
2026-10-26 5:16 ` Zhan Xusheng
2026-10-29 22:02 ` Tejun Heo
2026-10-23 22:04 ` [PATCH v33 2/7] sched/core: Use the scheduling context for remote ticks John Stultz
2026-10-24 13:44 ` Kayra Cizmeci
2026-10-23 22:04 ` [PATCH v33 3/7] sched/core: Activate blocked donor when no owner is found John Stultz
2026-10-24 8:33 ` Andrea Righi
2026-10-26 3:02 ` K Prateek Nayak
2026-10-23 22:04 ` [PATCH v33 4/7] sched/proxy: Set TASK_RUNNING when shortcuting return migration John Stultz
2026-10-24 8:36 ` Andrea Righi
2026-10-26 3:09 ` K Prateek Nayak
2026-10-23 22:04 ` [PATCH v33 5/7] sched/proxy: Break cyclic proxy chains by deactivating blocked tasks John Stultz
2026-10-24 21:19 ` Kayra Cizmeci
2026-10-23 22:04 ` [PATCH v33 6/7] sched/proxy: Detect cycles in proxy walks earlier John Stultz
2026-10-24 15:34 ` Kayra Cizmeci
2026-10-23 22:04 ` [PATCH v33 7/7] sched/proxy: Add deactivated (sleeping) owner handling to find_proxy_task() John Stultz
2026-10-24 9:07 ` Andrea Righi
2026-10-26 4:26 ` K Prateek Nayak
2026-10-27 16:22 ` Juri Lelli
2026-10-28 3:36 ` K Prateek Nayak
2026-10-28 10:01 ` Juri Lelli
2026-10-28 10:11 ` K Prateek Nayak
2026-10-28 10:36 ` Juri Lelli
2026-10-29 3:27 ` K Prateek Nayak [this message]
2026-10-26 7:40 ` K Prateek Nayak
2026-10-26 19:59 ` Kayra Cizmeci
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=faec8c94-0837-430b-ba60-00fa4a8a5eb4@amd.com \
--to=kprateek.nayak@amd.com \
--cc=Metin.Kaya@arm.com \
--cc=arighi@nvidia.com \
--cc=boqun.feng@gmail.com \
--cc=connoro@google.com \
--cc=dietmar.eggemann@arm.com \
--cc=hupu.gm@gmail.com \
--cc=joelagnelf@nvidia.com \
--cc=jstultz@google.com \
--cc=juri.lelli@redhat.com \
--cc=kernel-team@android.com \
--cc=kuyo.chang@mediatek.com \
--cc=linux-kernel@vger.kernel.org \
--cc=longman@redhat.com \
--cc=mingo@redhat.com \
--cc=paulmck@kernel.org \
--cc=peterz@infradead.org \
--cc=qyousef@layalina.io \
--cc=rostedt@goodmis.org \
--cc=sh@gentwo.org \
--cc=sh_def@163.com \
--cc=soolaugust@gmail.com \
--cc=suleiman@google.com \
--cc=tglx@linutronix.de \
--cc=valentin.schneider@arm.com \
--cc=vincent.guittot@linaro.org \
--cc=vschneid@redhat.com \
--cc=xuewen.yan94@gmail.com \
--cc=zezeozue@google.com \
--cc=zhanxusheng@xiaomi.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.