All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: kernel building regression on 32-rc5 kernel
       [not found] <F7C8A4D3A9905B45A80E4C194793FA651553C00D3D@PDSMSX501.ccr.corp.intel.com>
@ 2009-11-03 18:32 ` Jens Axboe
  2009-11-04  1:21   ` Alex Shi
  0 siblings, 1 reply; 4+ messages in thread
From: Jens Axboe @ 2009-11-03 18:32 UTC (permalink / raw)
  To: Shi, Alex; +Cc: linux-kernel

On Tue, Nov 03 2009, Shi, Alex wrote:
> I found the kernel building will have about 20%~ 30% regressions on
> our NHM machines. My kernel build do the following things 15 times:
> 
> make mrproper; echo \"3\">/proc/sys/vm/drop_caches; make defconfig;
> make -j${2timescpunumbers}
> 
> 
> 
> Bisect found it is due to the commitment:
> 
> commit a6151c3a5c8e1ff5a28450bc8d6a99a2a0add0a7

I looked over that commit and found one typo, can you check with this
patch applied?

diff --git a/block/cfq-iosched.c b/block/cfq-iosched.c
index 069a610..5802e32 100644
--- a/block/cfq-iosched.c
+++ b/block/cfq-iosched.c
@@ -2051,7 +2051,7 @@ cfq_should_preempt(struct cfq_data *cfqd, struct cfq_queue *new_cfqq,
 	 * it's a metadata request and the current queue is doing regular IO.
 	 */
 	if (rq_is_meta(rq) && !cfqq->meta_pending)
-		return false;
+		return true;
 
 	/*
 	 * Allow an RT request to pre-empt an ongoing non-RT cfqq timeslice.

-- 
Jens Axboe


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: kernel building regression on 32-rc5 kernel
  2009-11-03 18:32 ` kernel building regression on 32-rc5 kernel Jens Axboe
@ 2009-11-04  1:21   ` Alex Shi
  2009-11-04  7:40     ` Jens Axboe
  0 siblings, 1 reply; 4+ messages in thread
From: Alex Shi @ 2009-11-04  1:21 UTC (permalink / raw)
  To: Jens Axboe; +Cc: linux-kernel

Yes, the performance recovered with this patch on 32-rc6 kernel. 


On Wed, 2009-11-04 at 02:32 +0800, Jens Axboe wrote:
> On Tue, Nov 03 2009, Shi, Alex wrote:
> > I found the kernel building will have about 20%~ 30% regressions on
> > our NHM machines. My kernel build do the following things 15 times:
> > 
> > make mrproper; echo \"3\">/proc/sys/vm/drop_caches; make defconfig;
> > make -j${2timescpunumbers}
> > 
> > 
> > 
> > Bisect found it is due to the commitment:
> > 
> > commit a6151c3a5c8e1ff5a28450bc8d6a99a2a0add0a7
> 
> I looked over that commit and found one typo, can you check with this
> patch applied?
> 
> diff --git a/block/cfq-iosched.c b/block/cfq-iosched.c
> index 069a610..5802e32 100644
> --- a/block/cfq-iosched.c
> +++ b/block/cfq-iosched.c
> @@ -2051,7 +2051,7 @@ cfq_should_preempt(struct cfq_data *cfqd, struct cfq_queue *new_cfqq,
>  	 * it's a metadata request and the current queue is doing regular IO.
>  	 */
>  	if (rq_is_meta(rq) && !cfqq->meta_pending)
> -		return false;
> +		return true;
>  
>  	/*
>  	 * Allow an RT request to pre-empt an ongoing non-RT cfqq timeslice.
> 


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: kernel building regression on 32-rc5 kernel
  2009-11-04  1:21   ` Alex Shi
@ 2009-11-04  7:40     ` Jens Axboe
  0 siblings, 0 replies; 4+ messages in thread
From: Jens Axboe @ 2009-11-04  7:40 UTC (permalink / raw)
  To: Alex Shi; +Cc: linux-kernel

On Wed, Nov 04 2009, Alex Shi wrote:
> On Wed, 2009-11-04 at 02:32 +0800, Jens Axboe wrote:
> > On Tue, Nov 03 2009, Shi, Alex wrote:
> > > I found the kernel building will have about 20%~ 30% regressions on
> > > our NHM machines. My kernel build do the following things 15 times:
> > > 
> > > make mrproper; echo \"3\">/proc/sys/vm/drop_caches; make defconfig;
> > > make -j${2timescpunumbers}
> > > 
> > > 
> > > 
> > > Bisect found it is due to the commitment:
> > > 
> > > commit a6151c3a5c8e1ff5a28450bc8d6a99a2a0add0a7
> > 
> > I looked over that commit and found one typo, can you check with this
> > patch applied?
> > 
> > diff --git a/block/cfq-iosched.c b/block/cfq-iosched.c
> > index 069a610..5802e32 100644
> > --- a/block/cfq-iosched.c
> > +++ b/block/cfq-iosched.c
> > @@ -2051,7 +2051,7 @@ cfq_should_preempt(struct cfq_data *cfqd, struct cfq_queue *new_cfqq,
> >  	 * it's a metadata request and the current queue is doing regular IO.
> >  	 */
> >  	if (rq_is_meta(rq) && !cfqq->meta_pending)
> > -		return false;
> > +		return true;
> >  
> >  	/*
> >  	 * Allow an RT request to pre-empt an ongoing non-RT cfqq timeslice.
>
> Yes, the performance recovered with this patch on 32-rc6 kernel. 

Great! The patch just missed -rc6, as I had already queued it up and
asked for a pull. It's in current -git. Thanks a lot for reporting!

-- 
Jens Axboe


^ permalink raw reply	[flat|nested] 4+ messages in thread

* kernel building regression on 32-rc5 kernel
@ 2009-11-03 14:42 Shi, Alex
  0 siblings, 0 replies; 4+ messages in thread
From: Shi, Alex @ 2009-11-03 14:42 UTC (permalink / raw)
  To: linux-kernel

I found the kernel building will have about 20%~ 30% regressions on our NHM machines. My kernel build do the following things 15 times: 
make mrproper; echo \"3\">/proc/sys/vm/drop_caches; make defconfig; make -j${2timescpunumbers}
Bisect found it is due to the commitment: 
commit a6151c3a5c8e1ff5a28450bc8d6a99a2a0add0a7
Author: Jens Axboe <jens.axboe@oracle.com>
Date:   Wed Oct 7 20:02:57 2009 +0200
 
    cfq-iosched: apply bool value where we return 0/1

It quite makes me confused, but after reverting this patch the performance recovered. I analyzed the vmstat and "perf record" results, But did not find something strange. Just the "perf stat" shows something different.  
 

Perf stat output of Rc5 kernel: 

  850121.335684  task-clock-msecs         #      1.035 CPUs
         867280  context-switches         #      0.001 M/sec
         266319  CPU-migrations           #      0.000 M/sec
       76663435  page-faults              #      0.090 M/sec
  2697372004020  cycles                   #   3172.926 M/sec  (scaled from 100.00%)
  2779762582367  instructions             #      1.031 IPC    (scaled from 100.00%)
    14230675659  cache-references         #     16.740 M/sec  (scaled from 100.00%)
     3048368747  cache-misses             #      3.586 M/sec  (scaled from 100.00%)
 
821.432570507  seconds time elapsed

 Perf stat output of rc5 without the commit kernel:
  900054.808787  task-clock-msecs         #      1.237 CPUs
         845152  context-switches         #      0.001 M/sec
         252689  CPU-migrations           #      0.000 M/sec
       77495232  page-faults              #      0.086 M/sec
  2470286471361  cycles                   #   2744.596 M/sec
  2684134677043  instructions             #      1.087 IPC
    14685367142  cache-references         #     16.316 M/sec
     2869381827  cache-misses             #      3.188 M/sec
 
  727.415980216  seconds time elapsed

BRG
Alex

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2009-11-04  7:40 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <F7C8A4D3A9905B45A80E4C194793FA651553C00D3D@PDSMSX501.ccr.corp.intel.com>
2009-11-03 18:32 ` kernel building regression on 32-rc5 kernel Jens Axboe
2009-11-04  1:21   ` Alex Shi
2009-11-04  7:40     ` Jens Axboe
2009-11-03 14:42 Shi, Alex

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.