Re: performance regression from block merge

From: Jens Axboe
Date: Thu Dec 21 2006 - 15:16:43 EST


On Thu, Dec 21 2006, Andrew Morton wrote:
> On Thu, 21 Dec 2006 20:47:41 +0100
> Jens Axboe <jens.axboe@xxxxxxxxxx> 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

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/