All of lore.kernel.org
 help / color / mirror / Atom feed
* performance regression from block merge
@ 2006-12-21 19:25 Andrew Morton
  2006-12-21 19:35 ` Jens Axboe
  0 siblings, 1 reply; 5+ messages in thread
From: Andrew Morton @ 2006-12-21 19:25 UTC (permalink / raw)
  To: Jens Axboe; +Cc: linux-kernel, Linus Torvalds


Jens, elapsed time for `mke2fs /dev/hdc5' with the anticipatory scheduler
(at least) has gone from nine seconds to sixty as a result of the recent
block merge.

This is the enty enth time that block code has been slammed into mainline
without having had exposure to -mm testers or even to me personally, and it
it the second time (at least) that obvious regressions have occurred as a
result.  I have a New Year's resolution for you ;)

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

* Re: performance regression from block merge
  2006-12-21 19:25 performance regression from block merge Andrew Morton
@ 2006-12-21 19:35 ` Jens Axboe
  2006-12-21 19:47   ` Jens Axboe
  0 siblings, 1 reply; 5+ messages in thread
From: Jens Axboe @ 2006-12-21 19:35 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel, Linus Torvalds

On Thu, Dec 21 2006, Andrew Morton wrote:
> 
> Jens, elapsed time for `mke2fs /dev/hdc5' with the anticipatory scheduler
> (at least) has gone from nine seconds to sixty as a result of the recent
> block merge.

About when? I'll double check and test here, I'm assuming you mean since
2.6.19?

> This is the enty enth time that block code has been slammed into mainline
> without having had exposure to -mm testers or even to me personally, and it
> it the second time (at least) that obvious regressions have occurred as a
> result.  I have a New Year's resolution for you ;)

I usually try and make sure that for-akpm is the same as for-linus, so
if you pull that then it'll go to -mm as well. Sometimes the window
isn't that big, I'll try and make sure it's seen at least one -mm before
going upstream.

-- 
Jens Axboe


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

* Re: performance regression from block merge
  2006-12-21 19:35 ` Jens Axboe
@ 2006-12-21 19:47   ` Jens Axboe
  2006-12-21 20:14     ` Andrew Morton
  0 siblings, 1 reply; 5+ messages in thread
From: Jens Axboe @ 2006-12-21 19:47 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel, Linus Torvalds

On Thu, Dec 21 2006, Jens Axboe wrote:
> On Thu, Dec 21 2006, Andrew Morton wrote:
> > 
> > Jens, elapsed time for `mke2fs /dev/hdc5' with the anticipatory scheduler
> > (at least) has gone from nine seconds to sixty as a result of the recent
> > block merge.
> 
> About when? I'll double check and test here, I'm assuming you mean since
> 2.6.19?

Auch, brown paper bag time, I spotted an obvious typo in the recent
merge. Does this fix it? It should be safe to kill the ->special check,
but lets leave that for another time.

diff --git a/block/elevator.c b/block/elevator.c
index 62c7a30..536be74 100644
--- a/block/elevator.c
+++ b/block/elevator.c
@@ -82,7 +82,7 @@ inline int elv_rq_merge_ok(struct reques
 	/*
 	 * must be same device and not a special request
 	 */
-	if (rq->rq_disk != bio->bi_bdev->bd_disk || !rq->special)
+	if (rq->rq_disk != bio->bi_bdev->bd_disk || rq->special)
 		return 0;
 
 	if (!elv_iosched_allow_merge(rq, bio))

-- 
Jens Axboe


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

* Re: performance regression from block merge
  2006-12-21 19:47   ` Jens Axboe
@ 2006-12-21 20:14     ` Andrew Morton
  2006-12-21 20:18       ` Jens Axboe
  0 siblings, 1 reply; 5+ messages in thread
From: Andrew Morton @ 2006-12-21 20:14 UTC (permalink / raw)
  To: Jens Axboe; +Cc: linux-kernel, Linus Torvalds

On Thu, 21 Dec 2006 20:47:41 +0100
Jens Axboe <jens.axboe@oracle.com> wrote:

> On Thu, Dec 21 2006, Jens Axboe wrote:
> > On Thu, Dec 21 2006, Andrew Morton wrote:
> > > 
> > > Jens, elapsed time for `mke2fs /dev/hdc5' with the anticipatory scheduler
> > > (at least) has gone from nine seconds to sixty as a result of the recent
> > > block merge.
> > 
> > About when? I'll double check and test here, I'm assuming you mean since
> > 2.6.19?

In yesterday's merge.  I double-checked by testing yesterday's-Linus versus
yesterday's-Linus-plus-yesterday's-git-block.  The latter was slow.

> Auch, brown paper bag time, I spotted an obvious typo in the recent
> merge. Does this fix it? It should be safe to kill the ->special check,
> but lets leave that for another time.
> 
> diff --git a/block/elevator.c b/block/elevator.c
> index 62c7a30..536be74 100644
> --- a/block/elevator.c
> +++ b/block/elevator.c
> @@ -82,7 +82,7 @@ inline int elv_rq_merge_ok(struct reques
>  	/*
>  	 * must be same device and not a special request
>  	 */
> -	if (rq->rq_disk != bio->bi_bdev->bd_disk || !rq->special)
> +	if (rq->rq_disk != bio->bi_bdev->bd_disk || rq->special)
>  		return 0;
>  
>  	if (!elv_iosched_allow_merge(rq, bio))
> 

I shan't be near that machine for eight hours or so; shall test then.

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

* Re: performance regression from block merge
  2006-12-21 20:14     ` Andrew Morton
@ 2006-12-21 20:18       ` Jens Axboe
  0 siblings, 0 replies; 5+ messages in thread
From: Jens Axboe @ 2006-12-21 20:18 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel, Linus Torvalds

On Thu, Dec 21 2006, Andrew Morton wrote:
> On Thu, 21 Dec 2006 20:47:41 +0100
> Jens Axboe <jens.axboe@oracle.com> wrote:
> 
> > On Thu, Dec 21 2006, Jens Axboe wrote:
> > > On Thu, Dec 21 2006, Andrew Morton wrote:
> > > > 
> > > > Jens, elapsed time for `mke2fs /dev/hdc5' with the anticipatory scheduler
> > > > (at least) has gone from nine seconds to sixty as a result of the recent
> > > > block merge.
> > > 
> > > About when? I'll double check and test here, I'm assuming you mean since
> > > 2.6.19?
> 
> In yesterday's merge.  I double-checked by testing yesterday's-Linus versus
> yesterday's-Linus-plus-yesterday's-git-block.  The latter was slow.
> 
> > Auch, brown paper bag time, I spotted an obvious typo in the recent
> > merge. Does this fix it? It should be safe to kill the ->special check,
> > but lets leave that for another time.
> > 
> > diff --git a/block/elevator.c b/block/elevator.c
> > index 62c7a30..536be74 100644
> > --- a/block/elevator.c
> > +++ b/block/elevator.c
> > @@ -82,7 +82,7 @@ inline int elv_rq_merge_ok(struct reques
> >  	/*
> >  	 * must be same device and not a special request
> >  	 */
> > -	if (rq->rq_disk != bio->bi_bdev->bd_disk || !rq->special)
> > +	if (rq->rq_disk != bio->bi_bdev->bd_disk || rq->special)
> >  		return 0;
> >  
> >  	if (!elv_iosched_allow_merge(rq, bio))
> > 
> 
> I shan't be near that machine for eight hours or so; shall test then.

I already verified it, that was the bug! I'll send it upstream.

-- 
Jens Axboe


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

end of thread, other threads:[~2006-12-21 20:16 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-12-21 19:25 performance regression from block merge Andrew Morton
2006-12-21 19:35 ` Jens Axboe
2006-12-21 19:47   ` Jens Axboe
2006-12-21 20:14     ` Andrew Morton
2006-12-21 20:18       ` Jens Axboe

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.