Re: 2.6.20-rc2+: CFQ halving disk throughput.

From: Mark Lord
Date: Tue Jan 02 2007 - 10:15:48 EST


Jens Axboe wrote:
On Tue, Jan 02 2007, Jens Axboe wrote:
On Tue, Jan 02 2007, Rene Herman wrote:
Jens Axboe wrote:

On Mon, Jan 01 2007, Andrew Morton wrote:
The patch would appear to need this fix:

--- a/block/cfq-iosched.c~a
+++ a/block/cfq-iosched.c
@@ -592,7 +592,7 @@ static int cfq_allow_merge(request_queue
if (cfqq == RQ_CFQQ(rq))
return 1;

- return 1;
+ return 0;
}

static inline void
_

But that might not fix things...
Yeah it is, but I don't think it'll fix it (if anything, it'll be more
conservative).
(to possibly save others from trying -- no, doesn't fix any)
As expected. The issue is rq_is_sync(rq) takes the data direction into
account as well, while bio_sync() only checks the sync bit. This should
fix it.

And here a little more relaxed version, as Mark Lord suggested. We allow
merge of async bio into a sync request, but not vice versa.

Both patches pending testing, will do so now.

Performance is right back where it should be now, thanks!

I did have to massage the second patch to get it to apply cleanly
after the first patch. You may want to regenerate it against -rc3.

Cheers
-
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/