Re: libata .sg_tablesize: why always dividing by 2 ?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Benjamin Herrenschmidt wrote:
James B.  suggests that we stick a WARN_ON() into libata to let us
know if that precondition is violated.  Sounds like an easy thing to do
for a couple of -rc cycles someday.

If the block layer gives us a 32k block aligned on a 32k boundary
(aligned), we have no guarantee that the iommu will not turn that into
something unaligned crossing a 32k (and thus possibly a 64k) boundary.
..

Certainly, but never any worse than what the block layer gave originally.

The important note being:  IOMMU only ever *merges*, it never *splits*.

Which means that, by the time we split up any mis-merges again for 64K crossings,
we can never have more SG segments than what the block layer originally
fed to the IOMMU stuff.

Or so the IOMMU and SCSI experts here at LSF'08 have assured me,
even after my own skeptical questioning.

Cheers
-
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Filesystems]     [Linux SCSI]     [Linux RAID]     [Git]     [Kernel Newbies]     [Linux Newbie]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Samba]     [Device Mapper]

  Powered by Linux