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

Reply via email to