All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Zijlstra <peterz@infradead.org>
To: Lin Ming <ming.m.lin@intel.com>
Cc: Mike Galbraith <efault@gmx.de>,
	"Zhang, Yanmin" <yanmin_zhang@linux.intel.com>,
	dev@jaysonking.com, LKML <linux-kernel@vger.kernel.org>
Subject: Re: Performance regression of specjbb2005/aim7 with 2.6.29-rc1
Date: Thu, 15 Jan 2009 08:36:13 +0100	[thread overview]
Message-ID: <1232004974.14825.79.camel@laptop> (raw)
In-Reply-To: <1231986636.10565.159.camel@minggr.sh.intel.com>

On Thu, 2009-01-15 at 10:30 +0800, Lin Ming wrote:
> On Tue, 2009-01-13 at 17:37 +0800, Mike Galbraith wrote:
> > On Tue, 2009-01-13 at 16:57 +0800, Zhang, Yanmin wrote:
> > > Comparing with 2.6.28's results, specjbb2005 has about 7% regression with 2.6.29-rc1
> > > on my a couple of x86_64 machines. aim7 has about 1.7% regression.
> > > 
> > > Ming did a quick bisect with aim7 and located below patch.
> > > 
> > > commit 0a582440ff546e2c6610d1acec325e91b4efd313
> > > Author: Mike Galbraith <efault@gmx.de>
> > > Date:   Fri Jan 2 12:16:42 2009 +0100
> > > 
> > >     sched: fix sched_slice()
> > >     
> > >     Impact: fix bad-interactivity buglet
> > >     
> > >     Fix sched_slice() to emit a sane result whether a task is currently
> > >     enqueued or not.
> > >     
> > >     Signed-off-by: Mike Galbraith <efault@gmx.de>
> > >     Tested-by: Jayson King <dev@jaysonking.com>
> > >     Signed-off-by: Ingo Molnar <mingo@elte.hu>
> > > 
> > > 
> > > After we revert the patch, aim7 regression disappeared. specjbb2005 regression becomes
> > > less than 1.5% on 8-core stokley and disappears on 16-core tigerton. I don't know what
> > > causes the last 1.5% regression.
> > > 
> > > As tbench has about 5% improvement and oltp(mysql+sysbench) has 5% improvement, we also tested
> > > to make sure such improvement isn't related to above patch. volanoMark's improvement is also not
> > > related to the patch. So it seems safe to revert it.
> > 
> > No, it's not safe to just revert.  You can replace it with something
> > else, but as long as sched_slice() is called for unqueued tasks, it must
> > emit sane slices, otherwise you can experience a latency-hit-from-hell.
> > 
> > See thread: problem with "sched: revert back to per-rq vruntime"?
> 
> Below patch fixes aim7 regression and specjbb2005 regression becomes
> less than 1.5% on 8-core stokley.
> 
> Jayson,
> Mike's patch fixed the latency problem you reported
> would you please help to test this patch to see if it still works fine now?
> 
> diff --git a/kernel/sched_fair.c b/kernel/sched_fair.c
> index 8e1352c..617e54c 100644
> --- a/kernel/sched_fair.c
> +++ b/kernel/sched_fair.c
> @@ -429,10 +429,10 @@ static u64 sched_slice(struct cfs_rq *cfs_rq, struct sched_entity *se)
>  	u64 slice = __sched_period(cfs_rq->nr_running + !se->on_rq);
>  
>  	for_each_sched_entity(se) {
> -		struct load_weight *load = &cfs_rq->load;
> +		struct load_weight *load = &cfs_rq_of(se)->load;
>  
>  		if (unlikely(!se->on_rq)) {
> -			struct load_weight lw = cfs_rq->load;
> +			struct load_weight lw = cfs_rq_of(se)->load;
>  
>  			update_load_add(&lw, se->load.weight);
>  			load = &lw;
> 

Ugh, that's not making sense, the thing is, if !se->on_rq it doesn't yet
have a sensible cfs_rq_of().




  reply	other threads:[~2009-01-15  7:36 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-01-13  8:57 Performance regression of specjbb2005/aim7 with 2.6.29-rc1 Zhang, Yanmin
2009-01-13  9:37 ` Mike Galbraith
2009-01-15  2:30   ` Lin Ming
2009-01-15  7:36     ` Peter Zijlstra [this message]
2009-01-15 15:10     ` Peter Zijlstra
2009-01-15 16:17     ` Peter Zijlstra
2009-01-15 17:54       ` Ingo Molnar
2009-01-15 18:53       ` Jayson King
2009-01-15 20:09         ` Ingo Molnar
2009-01-16  0:49       ` Lin Ming

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=1232004974.14825.79.camel@laptop \
    --to=peterz@infradead.org \
    --cc=dev@jaysonking.com \
    --cc=efault@gmx.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=ming.m.lin@intel.com \
    --cc=yanmin_zhang@linux.intel.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.