[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CANDhNCo=8uwpRyoE2oWRZvqWcWb3tJ6xHO6-eMTY-cqn78D1zw@mail.gmail.com>
Date: Tue, 22 Apr 2025 14:14:32 -0700
From: John Stultz <jstultz@...gle.com>
To: Peter Zijlstra <peterz@...radead.org>
Cc: LKML <linux-kernel@...r.kernel.org>, Joel Fernandes <joelagnelf@...dia.com>,
Qais Yousef <qyousef@...alina.io>, Ingo Molnar <mingo@...hat.com>,
Juri Lelli <juri.lelli@...hat.com>, Vincent Guittot <vincent.guittot@...aro.org>,
Dietmar Eggemann <dietmar.eggemann@....com>, Valentin Schneider <vschneid@...hat.com>,
Steven Rostedt <rostedt@...dmis.org>, Ben Segall <bsegall@...gle.com>,
Zimuzo Ezeozue <zezeozue@...gle.com>, Mel Gorman <mgorman@...e.de>, Will Deacon <will@...nel.org>,
Waiman Long <longman@...hat.com>, Boqun Feng <boqun.feng@...il.com>,
"Paul E. McKenney" <paulmck@...nel.org>, Metin Kaya <Metin.Kaya@....com>,
Xuewen Yan <xuewen.yan94@...il.com>, K Prateek Nayak <kprateek.nayak@....com>,
Thomas Gleixner <tglx@...utronix.de>, Daniel Lezcano <daniel.lezcano@...aro.org>,
Suleiman Souhlal <suleiman@...gle.com>, kernel-team@...roid.com
Subject: Re: [PATCH v16 5/7] sched: Add an initial sketch of the
find_proxy_task() function
On Thu, Apr 17, 2025 at 4:18 AM Peter Zijlstra <peterz@...radead.org> wrote:
> On Fri, Apr 11, 2025 at 11:02:39PM -0700, John Stultz wrote:
> > + * Because we got donor from pick_next_task, it is *crucial*
>
> pick_next_task()
>
> > + * that we call proxy_resched_idle before we deactivate it.
>
> proxy_resched_idle()
>
> > + * As once we deactivate donor, donor->on_rq is set to zero,
> > + * which allows ttwu to immediately try to wake the task on
>
> ttwu()
>
Thanks for the comment tweaks, I've added them to my next version.
> > + }
> > + return proxy_deactivate(rq, donor);
>
> I was expecting a for() loop here, this only follows blocked_on once,
> right?
Yeah, this patch is only the simplest sketch of the find_proxy_task(),
which just deactivates the blocked donor and picks again (basically it
fails every time).
Initially I split it out to help test that keeping tasks on the
runqueue and deactivating them later would work properly.
It does not yet traverse the blocked on chain and actually find the proxy task.
I'll try to expand a bit more in the commit message so this isn't a surprise.
thanks
-john
Powered by blists - more mailing lists