[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <459A7646.1070007@rtr.ca>
Date: Tue, 02 Jan 2007 10:12:06 -0500
From: Mark Lord <lkml@....ca>
To: Jens Axboe <jens.axboe@...cle.com>
Cc: Rene Herman <rene.herman@...il.com>, Andrew Morton <akpm@...l.org>,
Tejun Heo <htejun@...il.com>,
Alan Cox <alan@...rguk.ukuu.org.uk>,
linux-kernel@...r.kernel.org, Linus Torvalds <torvalds@...l.org>
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@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists