Messages in this thread | | | Date | Tue, 02 Jan 2007 10:12:06 -0500 | From | Mark Lord <> | Subject | Re: 2.6.20-rc2+: CFQ halving disk throughput. |
| |
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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |