From: Ingo Molnar <mingo@kernel.org>
To: Vincent Guittot <vincent.guittot@linaro.org>
Cc: Shrikanth Hegde <sshegde@linux.ibm.com>,
peterz@infradead.org, dietmar.eggemann@arm.com,
qyousef@layalina.io, linux-kernel@vger.kernel.org,
vschneid@redhat.com
Subject: Re: [PATCH] sched/fair: Combine EAS check with overutilized access
Date: Thu, 28 Mar 2024 10:43:54 +0100 [thread overview]
Message-ID: <ZgU72pVEQlDOPFbG@gmail.com> (raw)
In-Reply-To: <CAKfTPtCk_aD-g-uADdoiWrGVHBbbVMuBKzWjyrKuA609O8vJzA@mail.gmail.com>
* Vincent Guittot <vincent.guittot@linaro.org> wrote:
> On Tue, 26 Mar 2024 at 20:32, Ingo Molnar <mingo@kernel.org> wrote:
> >
> >
> > * Shrikanth Hegde <sshegde@linux.ibm.com> wrote:
> >
> > > Access to overutilized is always used with sched_energy_enabled in
> > > the pattern:
> > >
> > > if (sched_energy_enabled && !overutilized)
> > > do something
> > >
> > > So modify the helper function to return this pattern. This is more
> > > readable code as it would say, do something when root domain is not
> > > overutilized. This function always return true when EAS is disabled.
> > >
> > > No change in functionality intended.
> > >
> > > Suggested-by: Vincent Guittot <vincent.guittot@linaro.org>
> > > Signed-off-by: Shrikanth Hegde <sshegde@linux.ibm.com>
> > > ---
> > > kernel/sched/fair.c | 20 +++++++-------------
> > > 1 file changed, 7 insertions(+), 13 deletions(-)
> > >
> > > diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
> > > index 24a7530a7d3f..e222e3ad4cfe 100644
> > > --- a/kernel/sched/fair.c
> > > +++ b/kernel/sched/fair.c
> > > @@ -6686,12 +6686,11 @@ static inline bool cpu_overutilized(int cpu)
> > > }
> > >
> > > /*
> > > - * Ensure that caller can do EAS. overutilized value
> > > - * make sense only if EAS is enabled
> > > + * overutilized value make sense only if EAS is enabled
> > > */
> > > static inline int is_rd_overutilized(struct root_domain *rd)
> > > {
> > > - return READ_ONCE(rd->overutilized);
> > > + return !sched_energy_enabled() || READ_ONCE(rd->overutilized);
> > > }
> > >
> > > static inline void set_rd_overutilized_status(struct root_domain *rd,
> > > @@ -6710,8 +6709,6 @@ static inline void check_update_overutilized_status(struct rq *rq)
> > > * overutilized field is used for load balancing decisions only
> > > * if energy aware scheduler is being used
> > > */
> > > - if (!sched_energy_enabled())
> > > - return;
> > >
> > > if (!is_rd_overutilized(rq->rd) && cpu_overutilized(rq->cpu))
> > > set_rd_overutilized_status(rq->rd, SG_OVERUTILIZED);
> >
> > On a second thought, I'm not sure removing the open-coded
> > sched_energy_enabled() branches is a good idea: the current code makes it
> > really, really clear when we are within EAS code paths.
> >
> > Hiding it within is_rd_overutilized() makes it a lot less obvious IMO.
>
> That's probably a matter of pov. I prefer embedding everything to make
> sure to have useless access to rd->overutilized
Ok, fair enough - applied to tip:sched/core, thanks guys!
Ingo
next prev parent reply other threads:[~2024-03-28 9:43 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-03-26 15:26 [PATCH] sched/fair: Combine EAS check with overutilized access Shrikanth Hegde
2024-03-26 19:32 ` Ingo Molnar
2024-03-26 20:15 ` Vincent Guittot
2024-03-28 9:43 ` Ingo Molnar [this message]
2024-03-28 21:33 ` Qais Yousef
2024-03-28 9:50 ` [tip: sched/core] sched/fair: Combine EAS check with root_domain::overutilized access tip-bot2 for Shrikanth Hegde
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=ZgU72pVEQlDOPFbG@gmail.com \
--to=mingo@kernel.org \
--cc=dietmar.eggemann@arm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=peterz@infradead.org \
--cc=qyousef@layalina.io \
--cc=sshegde@linux.ibm.com \
--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.