Alan S:
Why do you say the I/O isn't aligned to page boundaries?
The memory addresses of the data buffers were not visible.
The lengths of the commands (CDB's) were aligned: x40 blocks always.
The addresses (LBA's) of the commands were misaligned: hex x10 blocks off up away from zero. The retry was less aligned: hex off 8 blocks up away from zero.
We don't know where the data lies in memory.
Agreed.
As the flash/ CD-RW/ DVD+RW precedents of having alignment in LBA and block length matter grow more significant, e.g., in HDD that report more than 0.5 KiB per write, ... then we may see Linux I/O learn to align LBA's, not just block lengths. Meanwhile, I see people write device firmware to more or less effectively tolerate misalignment.
the retries end up skipping exactly a single page -- that indicates the I/O _is_ page aligned.
Agreed.
drivers/scsi/sd.c:sd_rw_intr() and
drivers/scsi/scsi_lib.c:scsi_io_completion()
Agreed ioctl generally, and SCSI pass thru in particular, are ways of avoiding normal retries.
I've blogged the hints and privately stored the e-mail address, thank you.
If I'm not yet plainly making sense, I hope you'll again find time to tell me.
Pat LaVarre
------------------------------------------------------- This SF.Net email is sponsored by: Sybase ASE Linux Express Edition - download now for FREE LinuxWorld Reader's Choice Award Winner for best database on Linux. http://ads.osdn.com/?ad_id=5588&alloc_id=12065&op=click _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-users
