From: Michael Wang <wangyun@linux.vnet.ibm.com>
To: Mike Galbraith <efault@gmx.de>
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 16:14:30 +0800 [thread overview]
Message-ID: <512F11E6.8060807@linux.vnet.ibm.com> (raw)
In-Reply-To: <1362038652.4460.124.camel@marge.simpson.net>
On 02/28/2013 04:04 PM, Mike Galbraith wrote:
> 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.
Bad to know :(
Should we fix it or this is by designed? The comments after WF_SYNC
cheated me...
Regards,
Michael Wang
>
>> 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:15 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
2013-02-28 8:14 ` Michael Wang [this message]
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=512F11E6.8060807@linux.vnet.ibm.com \
--to=wangyun@linux.vnet.ibm.com \
--cc=a.p.zijlstra@chello.nl \
--cc=akpm@linux-foundation.org \
--cc=alex.shi@intel.com \
--cc=efault@gmx.de \
--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 \
/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.