All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vincent Guittot <vincent.guittot@linaro.org>
To: Rik van Riel <riel@surriel.com>
Cc: Mel Gorman <mgorman@techsingularity.net>,
	linux-kernel <linux-kernel@vger.kernel.org>,
	Kernel Team <kernel-team@fb.com>,
	"Peter Zijlstra (Intel)" <peterz@infradead.org>,
	Ingo Molnar <mingo@kernel.org>,
	Valentin Schneider <valentin.schneider@arm.com>
Subject: Re: [PATCH v3] sched/fair: bring back select_idle_smt, but differently
Date: Tue, 6 Apr 2021 18:13:10 +0200	[thread overview]
Message-ID: <CAKfTPtDKwe-rxsVrAFDzJT6j+Mtu2aB73fGFygCWOuKQRKyvUw@mail.gmail.com> (raw)
In-Reply-To: <300f7c0dac300e2c3a8dc7f57fd0a834383152ff.camel@surriel.com>

On Tue, 6 Apr 2021 at 17:55, Rik van Riel <riel@surriel.com> wrote:
>
> On Tue, 2021-04-06 at 17:31 +0200, Vincent Guittot wrote:
> > On Tue, 6 Apr 2021 at 17:26, Rik van Riel <riel@surriel.com> wrote:
> > > On Tue, 2021-04-06 at 17:10 +0200, Vincent Guittot wrote:
> > > > On Fri, 26 Mar 2021 at 20:19, Rik van Riel <riel@surriel.com>
> > > > wrote:
> > > >
> > > > > -static int select_idle_cpu(struct task_struct *p, struct
> > > > > sched_domain *sd, int target)
> > > > > +static int select_idle_cpu(struct task_struct *p, struct
> > > > > sched_domain *sd, int prev, int target)
> > > > >  {
> > > > >         struct cpumask *cpus =
> > > > > this_cpu_cpumask_var_ptr(select_idle_mask);
> > > > >         int i, cpu, idle_cpu = -1, nr = INT_MAX;
> > > > > @@ -6136,23 +6163,32 @@ static int select_idle_cpu(struct
> > > > > task_struct *p, struct sched_domain *sd, int t
> > > > >
> > > > >         cpumask_and(cpus, sched_domain_span(sd), p->cpus_ptr);
> > > > >
> > > > > -       if (sched_feat(SIS_PROP) && !smt) {
> > > > > -               u64 avg_cost, avg_idle, span_avg;
> > > > > +       if (!smt) {
> > > > > +               if (cpus_share_cache(prev, target)) {
> > > >
> > > > Have you checked the impact on no smt system ? would worth a
> > > > static
> > > > branch.
> > > >
> > > > Also, this doesn't need to be in select_idle_cpu() which aims to
> > > > loop
> > > > the sched_domain becaus you only compare  target and prev. So you
> > > > can
> > > > move this call to select_idle_smt() in select_idle_sibling()
> > >
> > > After Mel's rewrite, there no longer are calls to
> > > select_idle_core() or select_idle_smt() in select_idle_sibling().
> >
> > select_idle_smt() had even disappeared that why it was not in
> > select_idle_sibling
> >
> > > Everything got folded into one single loop in select_idle_cpu()
> >
> > but this is done completely out of the loop so we don't need to
> > complify the function with unrelated stuff
>
> Not entirely. The call to select_idle_smt() is still
> conditional on test_idle_cores() returning false.
>
> We only look for the
> other sibling if there is no idle
> core in the LLC. If there is an idle core, we prefer
> that.
>
> Pulling the select_idle_smt() call out of select_idle_cpu()
> would mean having to test_idle_cores() twice.

In this case passes  the results test_idle_cores as a parameters instead of prev

>
> --
> All Rights Reversed.

  reply	other threads:[~2021-04-06 16:13 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-21 19:03 [PATCH v2] sched/fair: bring back select_idle_smt, but differently Rik van Riel
2021-03-22 11:03 ` Mel Gorman
2021-03-22 15:07   ` Rik van Riel
2021-03-22 15:33     ` Mel Gorman
2021-03-23  2:08       ` Rik van Riel
2021-03-26 19:19   ` [PATCH v3] " Rik van Riel
2021-03-28 15:36     ` Mel Gorman
2021-04-06 15:10     ` Vincent Guittot
2021-04-06 15:26       ` Rik van Riel
2021-04-06 15:31         ` Vincent Guittot
2021-04-06 15:33           ` Vincent Guittot
2021-04-06 15:55           ` Rik van Riel
2021-04-06 16:13             ` Vincent Guittot [this message]
2021-04-07  7:17         ` Peter Zijlstra
2021-04-07  9:41           ` Mel Gorman
2021-04-07 10:15             ` Peter Zijlstra
2021-04-07 10:47               ` Mel Gorman
2021-04-07 12:10                 ` Peter Zijlstra
2021-04-07  9:42           ` Vincent Guittot
2021-04-07  9:54             ` Peter Zijlstra
2021-04-07  9:57               ` Vincent Guittot
2021-04-07 10:19               ` Peter Zijlstra
2021-04-07 10:24                 ` Vincent Guittot
2021-04-08 15:52                 ` Rik van Riel
2021-04-09 11:24     ` [tip: sched/core] sched/fair: Bring back select_idle_smt(), " tip-bot2 for Rik van Riel
2021-04-09 16:14     ` tip-bot2 for Rik van Riel

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=CAKfTPtDKwe-rxsVrAFDzJT6j+Mtu2aB73fGFygCWOuKQRKyvUw@mail.gmail.com \
    --to=vincent.guittot@linaro.org \
    --cc=kernel-team@fb.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mgorman@techsingularity.net \
    --cc=mingo@kernel.org \
    --cc=peterz@infradead.org \
    --cc=riel@surriel.com \
    --cc=valentin.schneider@arm.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.