From: Mike Galbraith <efault@gmx.de>
To: Michael Wang <wangyun@linux.vnet.ibm.com>
Cc: LKML <linux-kernel@vger.kernel.org>,
Ingo Molnar <mingo@kernel.org>,
Peter Zijlstra <a.p.zijlstra@chello.nl>,
Paul Turner <pjt@google.com>, Alex Shi <alex.shi@intel.com>,
Andrew Morton <akpm@linux-foundation.org>,
Ram Pai <linuxram@us.ibm.com>,
"Nikunj A. Dadhania" <nikunj@linux.vnet.ibm.com>,
Namhyung Kim <namhyung@kernel.org>
Subject: Re: [RFC PATCH] sched: wakeup buddy
Date: Thu, 28 Feb 2013 09:04:12 +0100 [thread overview]
Message-ID: <1362038652.4460.124.camel@marge.simpson.net> (raw)
In-Reply-To: <512F09D4.1020307@linux.vnet.ibm.com>
On Thu, 2013-02-28 at 15:40 +0800, Michael Wang wrote:
> Hi, Mike
>
> Thanks for your reply.
>
> On 02/28/2013 03:18 PM, Mike Galbraith wrote:
> > On Thu, 2013-02-28 at 14:38 +0800, Michael Wang wrote:
> >
> >> + /*
> >> + * current is the only task on rq and it is
> >> + * going to sleep, current cpu will be a nice
> >> + * candidate for p to run on.
> >> + */
> >
> > The sync hint only means it might be going to sleep soon, and even then,
> > there can still be enough execution overlap to be a win to schedule
> > cross core. Sched pipe numbers will always be much prettier if you do
> > wakeup cpu affine, as it's ~100% scheduler and ~100% sync.
>
> Hmm.. so it's the comparison between 'cache benefit - execution overlap'
> and 'latency - execution overlap'?
Yeah. You'll always lose power cross core, and throughput breakeven and
win depends on convertible overlap, and how much L2 miss etc costs. For
sched pipe there is no win, but for other sync hint users there is.
> I could not estimate how many latency will be added to wait for current
> going to sleep (it should be faster than access cold data, isn't it?),
> but I really like the cache benefit, unless sync doesn't means current
> is going to sleep every time, but that's the promise of WF_SYNC, isn't it?
It would be nice if it _were_ a promise, but it is not, it's a hint.
> You may lose
> > a lot on other stuff if you interpret the hint as gospel truth.
>
> Could you please give more details on this point?
tbench, mysql+oltp, on and on use the sync hint, many things jabber on
localhost, use the sync hint, and have been shown in cold hard numbers
to benefit, some things massively from cross core scheduling. You lose
for sure at extreme context rates, but it has to be pretty darn high to
be a guaranteed loser.
That's why select_idle_sibling() is so very damn annoying.
> > IMHO, sched pipe is a "how fat have I become" benchmark, not "how well
> > do I perform". The scheduler performs well when it makes more work
> > happen. Playing ping-pong with yourself is _exercise_, not a job :)
>
> That's right, may be I'm using the wrong description, it's the ops/sec
> which has been doubled, that means 'fat', correct?
In this case, it means you're not running a kernel with nohz on a chain,
running two schedulers is more expensive than running one, and missing
L2 each and every time hurts very badly when the load is ultra skinny.
-Mike
next prev parent reply other threads:[~2013-02-28 8:04 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-02-28 6:38 [RFC PATCH] sched: wakeup buddy Michael Wang
2013-02-28 7:18 ` Mike Galbraith
2013-02-28 7:40 ` Michael Wang
2013-02-28 7:42 ` Michael Wang
2013-02-28 8:06 ` Mike Galbraith
2013-02-28 8:04 ` Mike Galbraith [this message]
2013-02-28 8:14 ` Michael Wang
2013-02-28 8:24 ` Mike Galbraith
2013-02-28 8:49 ` Michael Wang
2013-02-28 9:18 ` Mike Galbraith
2013-03-01 2:18 ` Michael Wang
2013-02-28 9:25 ` Namhyung Kim
2013-02-28 10:06 ` Mike Galbraith
2013-02-28 15:31 ` Namhyung Kim
2013-03-01 2:30 ` Michael Wang
2013-03-01 2:18 ` Michael Wang
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=1362038652.4460.124.camel@marge.simpson.net \
--to=efault@gmx.de \
--cc=a.p.zijlstra@chello.nl \
--cc=akpm@linux-foundation.org \
--cc=alex.shi@intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxram@us.ibm.com \
--cc=mingo@kernel.org \
--cc=namhyung@kernel.org \
--cc=nikunj@linux.vnet.ibm.com \
--cc=pjt@google.com \
--cc=wangyun@linux.vnet.ibm.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