Re: Compact Flash performance...

From: Robert Hancock
Date: Thu May 31 2007 - 20:00:28 EST


Jeff Garzik wrote:
Mark Lord wrote:
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).


I was talking on IRC with Tejun just recently. There are several controllers (and/or "situations") like this, where some amount of host queueing would permit greater throughput, even when NCQ is not supported. sata_sx4 is the most dramatic example, where host queueing could potentially increase speed by a factor of 10 or more, since it is penalized by an awful two-irq-per-command (w/ a per-host bottleneck to boot) setup. Silicon Image has a "command buffer". And overall, I designed ->qc_prep() hook separate from ->qc_issue() to enable the prepartion of multiple commands such that it only takes a simple "go" I/O to start a transaction, immediately after the previous one ends.

Jeff

Theoretically NVIDIA nForce4 ADMA could likely do this as well, as it seems to allow chaining up multiple commands to execute in succession (assuming they're not NCQ)..

--
Robert Hancock Saskatoon, SK, Canada
To email, remove "nospam" from hancockr@xxxxxxxxxxxxx
Home Page: http://www.roberthancock.com/

-
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/