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 [email protected]
Home Page: http://www.roberthancock.com/
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]