Re: libata+SGIO: is .dma_boundary respected?

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

 



Mark Lord wrote:
Jens / Jeff,

Each libata driver registers a .dma_boundary field with SCSI.
This field is used to prevent merging of bio segments across
a hardware limitation boundary, usually 0xffff.

This looks like it works for regular block I/O,
but I'm not so sure about SGIO originated requests.

Any thoughts, or code you can point me to?

Everything goes through the block layer, including SG_IO, so everyone agrees on the boundaries that must be respected.

scsi sets blk_queue_segment_boundary() then gets out of the way, for the most part. BIOVEC_SEG_BOUNDARY() is the macro that accesses this. Trace back and forth from there. You will probably run into a call to blk_recount_segments() in __bio_add_page(), or maybe you'll check the seg boundary from another path.

	Jeff


-
: 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