Re: poor sata performance on 2.6

From: Prakash K. Cheemplavam
Date: Tue Apr 20 2004 - 07:46:49 EST

Jeff Garzik wrote:
Denis Vlasenko wrote:

On Thursday 15 April 2004 17:48, Konstantin Sobolev wrote:

On Thursday 15 April 2004 18:33, Justin Cormack wrote:

On Thu, 2004-04-15 at 15:26, Konstantin Sobolev wrote:

On Thursday 15 April 2004 18:00, Justin Cormack wrote:

hmm, odd. I get 50MB/s or so from normal (7200, 8MB cache) WD disks,
and Seagate from the same controller. Can you send lspci,
/proc/interrupts and dmesg...

Attached are files for 2.6.5-mm5 with highmem, ACPI and APIC turned

ah. Make a filesystem on it and mount it and try again. I see you have
no partition table and so probably no filesystem. This means the block
size is set to default 512byte not 4k which makes disk operations slow.
Any filesystem should default to block size of 4k, eg ext2.

So first time it gave the same loosy 27 MB/s and subsequent tests give
pretty good 68 MB/s! Why?

Time to CC ide/libata/block layer folks

Jeff Garzik <jgarzik@xxxxxxxxx>
libata man

It seems like the situation is already resolved, to me.

When you mount a filesystem, it changes the default block size (512 or 1024) to the filesystem block size, normally 4096. This would certainly increase the throughput.

Hi Jeff,

it is NOT resolved: I just tried libata again, and I can observe the same behaviour: I just did a "cat /dev/sda >/dev/null" and watched gkrellm2 showing the throughoutput. The first tiem I do the cat I only got about 27mb/s, no matter how ong I waited, but all subsequent cat gave me about >60mb/s. So there is a tiny bug in libata, I guess, as when using the siimage.c ide driver, already the first cat gives me maximum throughoutput. I am using 2.6.5-mm4 based kernel. Filesystems were mounted/ I didn't change anything between first and secound cat.


To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at