linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Michael Wang <wangyun@linux.vnet.ibm.com>
To: Mike Galbraith <efault@gmx.de>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>,
	LKML <linux-kernel@vger.kernel.org>,
	Ingo Molnar <mingo@kernel.org>,
	Namhyung Kim <namhyung@kernel.org>, Alex Shi <alex.shi@intel.com>,
	Paul Turner <pjt@google.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	"Nikunj A. Dadhania" <nikunj@linux.vnet.ibm.com>,
	Ram Pai <linuxram@us.ibm.com>
Subject: Re: [PATCH] sched: wakeup buddy
Date: Fri, 08 Mar 2013 15:30:18 +0800	[thread overview]
Message-ID: <5139938A.1040504@linux.vnet.ibm.com> (raw)
In-Reply-To: <1362725051.31859.40.camel@marge.simpson.net>

On 03/08/2013 02:44 PM, Mike Galbraith wrote:
> On Fri, 2013-03-08 at 10:37 +0800, Michael Wang wrote: 
>> On 03/07/2013 05:43 PM, Mike Galbraith wrote:
>>> On Thu, 2013-03-07 at 09:36 +0100, Peter Zijlstra wrote: 
>>>> On Wed, 2013-03-06 at 15:06 +0800, Michael Wang wrote:
>>>>
>>>>> wake_affine() stuff is trying to bind related tasks closely, but it doesn't
>>>>> work well according to the test on 'perf bench sched pipe' (thanks to Peter).
>>>>
>>>> so sched-pipe is a poor benchmark for this.. 
>>>>
>>>> Ideally we'd write a new benchmark that has some actual data footprint
>>>> and we'd measure the cost of tasks being apart on the various cache
>>>> metrics and see what affine wakeup does for it.
>>>>
>>>> Before doing something like what you're proposing, I'd have a hard look
>>>> at WF_SYNC, it is possible we should disable/fix select_idle_sibling
>>>> for sync wakeups.
>>>
>>> If nobody beats me to it, I'm going to try tracking shortest round trip
>>> to idle, and use a multiple of that to shut select_idle_sibling() down.
>>> If avg_idle approaches round trip time, there's no win to be had, we're
>>> just wasting cycles.
>>
>> That's great if we have it, I'm a little doubt whether it is possible to
>> find a better way to replace the select_idle_sibling() (look at the way
>> it locates idle cpu...) in some cases, but I'm looking forward it ;-)
> 
> I'm not going to replace it, only stop it from wasting cycles when
> there's very likely nothing to gain.  Save task wakeup time, if delta
> rq->clock - p->last_wakeup < N*shortest_idle or some such very cheap
> metric.  Wake ultra switchers L2 affine if allowed, only go hunting for
> an idle L3 if the thing is on another package.  
> 
> In general, I think things would work better if we'd just rate limit how
> frequently we can wakeup migrate each individual task.  

Isn't the wakeup buddy already limit the rate? and by turning the knob,
we could change the rate on our demand.

We want
> jabbering tasks to share L3, but we don't really want to trash L2 at an
> awesome rate.

I don't get it..., it's a task which has 'sleep' for some time, unless
there is no task running on prev_cpu when it's sleeping, otherwise
whatever the new cpu is, we will trash L2, isn't it?

Regards,
Michael Wang

> 
> -Mike
> 


  reply	other threads:[~2013-03-08  7:30 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-03-06  7:06 [PATCH] sched: wakeup buddy Michael Wang
2013-03-07  8:36 ` Peter Zijlstra
2013-03-07  9:43   ` Mike Galbraith
2013-03-08  2:37     ` Michael Wang
2013-03-08  6:44       ` Mike Galbraith
2013-03-08  7:30         ` Michael Wang [this message]
2013-03-08  8:26           ` Mike Galbraith
2013-03-11  2:42             ` Michael Wang
2013-03-07  9:46   ` Michael Wang
2013-03-07 16:52     ` Peter Zijlstra
2013-03-08  2:31       ` Michael Wang
2013-03-11  8:21   ` Ingo Molnar
2013-03-11  9:14     ` Michael Wang
2013-03-11  9:40       ` Ingo Molnar
2013-03-12  6:00         ` Michael Wang
2013-03-12  8:48           ` Ingo Molnar
2013-03-12  9:41             ` Michael Wang
2013-03-07 17:21 ` Peter Zijlstra
2013-03-08  2:33   ` Michael Wang
2013-03-07 17:27 ` Peter Zijlstra
2013-03-08  2:50   ` Michael Wang
2013-03-11 10:36     ` Peter Zijlstra
2013-03-12  3:23       ` Michael Wang
2013-03-12 10:08         ` Peter Zijlstra
2013-03-13  3:07           ` Michael Wang
2013-03-14 10:58             ` Peter Zijlstra
2013-03-15  6:24               ` Michael Wang
2013-03-18  3:26                 ` 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=5139938A.1040504@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).