BIO ordering and NativeCommandQueueing

From: Guillaume Lacôte
Date: Tue Jun 15 2004 - 05:04:25 EST


Hello,
(I hope this is the right place for this - sorry if it is not).

Native Command Queueing (and Tagged Command Queueing) is a feature provided by
the hardware of newer IDE (and old SCSI) disk drives which basically consists
in reordering the commands issued on the ATA bus to improve speed.

I assume however that the fastest way to read sectors 101 to 110 is to ask for
them in that order: 101,102,...,110 . This is a basic assumption made by most
OSes and apps I presume (otherwise for example DMA performance would be
catastrophic).

Here is my point: since a bvec consists of _ordered_ requests only, what is
the use of NCQ ? Requests will arrive to the drive in increasing order, which
is the best possible ordering performance-wise; thus NCQ will do never do
anything.

Am I mistaken ?
-
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/