Re: Compact Flash performance...

From: Mark Lord
Date: Thu May 31 2007 - 18:40:31 EST


Daniel J Blueman wrote:
On 31/05/07, Mark Lord <liml@xxxxxx> wrote:
Daniel J Blueman wrote:
...
I don't know too much about the specifics, though, but perhaps the
card is only capable of full speed in PIO6, which requires special cabling
and is currently unsupported in libata (?).

Seems less likely, as the Extreme IV reader (and another) supports
UDMA mode 4; in PIO mode 6, they apparently top out at 17MB/s [2],
which seems reasonable.

That's pio4 (16.6666MBytes/sec).
pio6 should have the same cycle time as udma4.

Another factor, is that hdparm performs discrete, non-overlapping,
reads of 1MByte chunks for its timing test. Some drives cannot achieve
full performance with such (relatively) large gaps between IO's.

100MB transfers still achieve 32MB/s:

But internally libata is probably breaking those up into 64KB transfers,
with gaps between requests. The best it could do would be 128KB transfers.
To maximize throughput, some kind of host-queuing would be needed,
or just have the driver sit in a tight loop, starting the next I/O
immediately when the previous one finishes. Linux isn't that quick (yet).

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/