From: Mike Galbraith <efault@gmx.de>
To: Steven Sistare <steven.sistare@oracle.com>,
Peter Zijlstra <peterz@infradead.org>
Cc: subhra mazumdar <subhra.mazumdar@oracle.com>,
linux-kernel@vger.kernel.org, mingo@redhat.com,
dhaval.giani@oracle.com
Subject: Re: [RESEND RFC PATCH V3] sched: Improve scalability of select_idle_sibling using SMT balance
Date: Sat, 03 Feb 2018 04:47:32 +0100 [thread overview]
Message-ID: <1517629652.18310.33.camel@gmx.de> (raw)
In-Reply-To: <5b9f0828-8d35-885b-3eba-d31ca46da642@oracle.com>
On Fri, 2018-02-02 at 13:34 -0500, Steven Sistare wrote:
> On 2/2/2018 12:39 PM, Steven Sistare wrote:
> > On 2/2/2018 12:21 PM, Peter Zijlstra wrote:
> >> On Fri, Feb 02, 2018 at 11:53:40AM -0500, Steven Sistare wrote:
> >>> It might be interesting to add a tunable for the number of random choices to
> >>> make, and clamp it at the max nr computed from avg_cost in select_idle_cpu.
> >>
> >> This needs a fairly complicated PRNG for it would need to visit each
> >> possible CPU once before looping. A LFSR does that, but requires 2^n-1
> >> elements and we have topology masks that don't match that.. The trivial
> >> example is something with 6 cores.
> >
> > Or keep it simple and accept the possibility of choosing the same candidate
> > more than once.
> >
> >>> Or, choose a random starting point and then search for nr sequential
> >>> candidates; possibly limited by a tunable.
> >>
> >> And this is basically what we already do. Except with the task-cpu
> >> instead of a per-cpu rotor.
> >
> > Righto. Disregard this suggestion.
>
> Actually, I take back my take back. I suspect the primary benefit
> of random selection is that it breaks up resonance states where
> CPUs that are busy tend to stay busy, and CPUs that are idle tend
> to stay idle, which is reinforced by starting the search at target =
> last cpu ran.
I suspect the primary benefit is reduction of bouncing. The absolutely
maddening thing about SIS is that some stuff out there (like FB's load)
doesn't give a rats ass about anything other than absolute minimum
sched latency while other stuff notices cache going missing. Joy.
-Mike
next prev parent reply other threads:[~2018-02-03 3:48 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-01-29 23:31 [RESEND RFC PATCH V3] sched: Improve scalability of select_idle_sibling using SMT balance subhra mazumdar
2018-02-01 12:33 ` Peter Zijlstra
2018-02-01 13:33 ` Peter Zijlstra
2018-02-02 16:53 ` Steven Sistare
2018-02-02 17:17 ` Peter Zijlstra
2018-02-02 17:36 ` Steven Sistare
2018-02-02 19:58 ` Peter Zijlstra
2018-02-02 20:51 ` Steven Sistare
2018-02-02 17:37 ` Subhra Mazumdar
2018-02-05 12:19 ` Peter Zijlstra
2018-02-05 22:09 ` Subhra Mazumdar
2018-02-06 9:12 ` Peter Zijlstra
2018-02-07 0:30 ` Subhra Mazumdar
2018-02-07 8:42 ` Peter Zijlstra
2018-02-07 23:10 ` Subhra Mazumdar
2018-02-02 17:21 ` Peter Zijlstra
2018-02-02 17:39 ` Steven Sistare
2018-02-02 18:34 ` Steven Sistare
2018-02-02 20:04 ` Peter Zijlstra
2018-02-02 21:17 ` Steven Sistare
2018-02-03 3:47 ` Mike Galbraith [this message]
2018-02-02 19:59 ` Peter Zijlstra
2018-02-02 21:06 ` Steven Sistare
2018-02-05 12:48 ` Peter Zijlstra
2018-02-05 13:54 ` Mike Galbraith
2018-02-05 17:03 ` Peter Zijlstra
2018-02-05 22:32 ` Subhra Mazumdar
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=1517629652.18310.33.camel@gmx.de \
--to=efault@gmx.de \
--cc=dhaval.giani@oracle.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=peterz@infradead.org \
--cc=steven.sistare@oracle.com \
--cc=subhra.mazumdar@oracle.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox