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

Mark Lord
2007-01-01T23:53:09Z

Rene Herman wrote:
> Tejun Heo wrote:
>
>> Everything seems fine in the dmesg. Performance degradation is
>> probably some other issue in -rc kernel. I'm suspecting recently
>> fixed block layer bug. If it's still the same in the next -rc,
>> please report.
>
> In fact, it's CFQ. The PATA thing was a red herring. 2.6.20-rc2 and 3
> give me ~ 24 MB/s from "hdparm t /dev/hda" while 2.6.20-rc1 and below
> give me ~ 50 MB/s.
>
> Jens: this is due to "[PATCH] cfq-iosched: tighten allow merge
> criteria", 719d34027e1a186e46a3952e8a24bf91ecc33837:
>
> http://www2.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=719d34027e1a186e46a3952e8a24bf91ecc33837
>
>
> If I revert that one, I have my 50 M/s back. config and dmesg attached
> in case they're useful.

Wow.. same deal here -- sequential throughput drops from 40MB/sec to 28MB/sec
with CFQ -- whereas the anticipatory scheduler maintains the 40MB/sec.

Jens.. I wonder if the new merging test is a bit too strict?

There are four possible combinations, and the new code
allows merging for two of them: sync+sync and async+async.

But surely one of (not sure which) sync+async or async+sync may also be okay?
Or would it?

This is a huge performance hit.

Cheers