From: Peter Zijlstra <peterz@infradead.org>
To: Vincent Guittot <vincent.guittot@linaro.org>
Cc: mingo@kernel.org, juri.lelli@redhat.com,
dietmar.eggemann@arm.com, rostedt@goodmis.org,
bsegall@google.com, mgorman@suse.de, vschneid@redhat.com,
kprateek.nayak@amd.com, tj@kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 3/4] sched/fair: Extend for_each_sched_entity() with a back-link
Date: Wed, 21 Oct 2026 17:52:11 +0200 [thread overview]
Message-ID: <20261021155211.GV88198@noisy.programming.kicks-ass.net> (raw)
In-Reply-To: <CAKfTPtCgAjDXgRVBPUSKi4gq1pPN6b7dcP2myMhoOQ9Tyj7_nw@mail.gmail.com>
On Tue, Oct 13, 2026 at 06:54:39PM +0200, Vincent Guittot wrote:
> On Tue, 29 Sept 2026 at 10:55, Peter Zijlstra <peterz@infradead.org> wrote:
> >
> > Leave a trail of bread crumbs, such that we can find our way back down the
> > hierarchy. No actual users yet, but split out because its a bit tricky.
> >
> > Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
>
> Reviewed-by: Vincent Guittot <vincent.guittot@linaro.org>
>
> > ---
> > kernel/sched/fair.c | 14 +++++++++++---
> > kernel/sched/sched.h | 1 +
> > 2 files changed, 12 insertions(+), 3 deletions(-)
> >
> > --- a/kernel/sched/fair.c
> > +++ b/kernel/sched/fair.c
> > @@ -318,8 +318,13 @@ const struct sched_class fair_sched_clas
> > #ifdef CONFIG_FAIR_GROUP_SCHED
> >
> > /* Walk up scheduling entities hierarchy */
> > -#define for_each_sched_entity(se, cfs_rq) \
> > - for (; (se) && ((cfs_rq) = cfs_rq_of(se)); (se) = (se)->parent)
> > +#define for_each_sched_entity(se, cfs_rq) \
> > + for (struct sched_entity *_BL = NULL; \
> > + (se) && ((cfs_rq) = cfs_rq_of(se), (cfs_rq)->backlink = _BL, true);\
> > + (se) = (se)->parent, _BL = (se))
> > +
> > +#define for_each_sched_entity_bl(se, cfs_rq) \
> > + for (; ((se) = (cfs_rq)->backlink); (cfs_rq) = group_cfs_rq(se))
> >
> > static inline bool list_add_leaf_cfs_rq(struct cfs_rq *cfs_rq)
> > {
> > @@ -456,6 +461,9 @@ static int se_is_idle(struct sched_entit
> > #define for_each_sched_entity(se, cfs_rq) \
> > for (; (se) && ((cfs_rq) = cfs_rq_of(se)); (se) = NULL)
> >
> > +#define for_each_sched_entity_bl(se, cfs_rq) \
> > + for (; ((se) = NULL);)
> > +
> > static inline bool list_add_leaf_cfs_rq(struct cfs_rq *cfs_rq)
> > {
> > return true;
> > @@ -15233,7 +15241,7 @@ static inline void task_tick_core(struct
> > /*
> > * se_fi_update - Update the cfs_rq->zero_vruntime_fi in a CFS hierarchy if needed.
> > */
> > -static void se_fi_update(const struct sched_entity *se, unsigned int fi_seq,
> > +static void se_fi_update(struct sched_entity *se, unsigned int fi_seq,
>
> Not sure this should be part of this patch
My build scripts argued it should be. It breaks with the fancy new
for_each_sched_entity().
next prev parent reply other threads:[~2026-10-21 15:52 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-29 8:49 [PATCH v2 0/4] sched/fair: Rework task_h_load() Peter Zijlstra
2026-09-29 8:49 ` [PATCH v2 1/4] sched: Rename/clarify sched_class::task_tick(.queued) argument Peter Zijlstra
2026-10-13 16:52 ` Vincent Guittot
2026-10-13 17:14 ` Kayra Cizmeci
2026-10-15 20:01 ` Christian Loehle
2026-10-16 5:32 ` Kayra Cizmeci
2026-11-09 8:44 ` [tip: sched/core] " tip-bot2 for Peter Zijlstra
2026-11-09 9:28 ` [tip: sched/core] sched/core: " tip-bot2 for Peter Zijlstra
2026-09-29 8:49 ` [PATCH v2 2/4] sched/fair: Fold cfs_rq_of(se) into for_each_sched_entity() Peter Zijlstra
2026-10-13 16:53 ` Vincent Guittot
2026-11-09 8:44 ` [tip: sched/core] " tip-bot2 for Peter Zijlstra
2026-11-09 9:28 ` tip-bot2 for Peter Zijlstra
2026-09-29 8:49 ` [PATCH v2 3/4] sched/fair: Extend for_each_sched_entity() with a back-link Peter Zijlstra
2026-10-13 16:54 ` Vincent Guittot
2026-10-21 15:52 ` Peter Zijlstra [this message]
2026-10-21 16:39 ` Vincent Guittot
2026-11-09 8:44 ` [tip: sched/core] " tip-bot2 for Peter Zijlstra
2026-11-09 9:28 ` tip-bot2 for Peter Zijlstra
2026-09-29 8:49 ` [PATCH v2 4/4] sched/fair: Rework/fix task_h_load() Peter Zijlstra
2026-09-29 17:46 ` Kayra Cizmeci
2026-09-30 1:16 ` K Prateek Nayak
2026-09-30 5:45 ` Kayra Cizmeci
2026-09-30 8:45 ` Peter Zijlstra
2026-09-30 10:20 ` Kayra Cizmeci
2026-09-30 11:25 ` Peter Zijlstra
2026-09-30 11:44 ` Kayra Cizmeci
2026-10-01 21:16 ` Kayra Cizmeci
2026-10-13 16:56 ` Vincent Guittot
2026-11-09 8:44 ` [tip: sched/core] " tip-bot2 for Peter Zijlstra
2026-11-09 9:28 ` tip-bot2 for Peter Zijlstra
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=20261021155211.GV88198@noisy.programming.kicks-ass.net \
--to=peterz@infradead.org \
--cc=bsegall@google.com \
--cc=dietmar.eggemann@arm.com \
--cc=juri.lelli@redhat.com \
--cc=kprateek.nayak@amd.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mgorman@suse.de \
--cc=mingo@kernel.org \
--cc=rostedt@goodmis.org \
--cc=tj@kernel.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 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.