But it's not just the drive's elevator that we depend on. You have to
transfer the data to the drive as well. The worst case is SCSI-2 where all
phases of the transfer except data are narrow and asynchronous. We get
abysmal performance in SCSI-2 if the OS gives us 16 contiguous 4k data chunks
instead of one 64k one because of the high command setup overhead.
Even the protocols which can transfer the header at the same speed, like FC,
benefit from having large data to header ratios in their frames.
Therefore, it is in SCSI's interest to have the OS merge requests if it can
purely from the transport efficiency point of view. Once we accept the
necessity of having the OS do some elevator work it becomes detrimental to
have this work repeated in the drive firmware.
I guess, however, that this issue will evaporate substantially once the
aic7xxx driver uses ordered tags to represent the transaction integrity since
the barriers will force the drive seek algorithm to follow the tag
transmission order much more closely.
James
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/