Re: [PATCH 5/6] firewire: SBP-2 highlevel driver

Stefan Richter
2007-05-02T22:10:35Z

I wrote:
> Christoph Hellwig wrote:
>>> + /* Convert the scatterlist to an sbp2 page table. If any
>>> + * scatterlist entries are too big for sbp2 we split the as we go. */
>> Please set the max_sectors value in your host template so that the
>> block layer doesn't build sg entries too big for you.
>
> Hmm, what about this:
>
> James Bottomley wrote on 2007-01-15:
> | Actually, there's one unfortunate case where Linux won't respect this:
> | an IOMMU that can do virtual merging. This parameter is a block queue
> | parameter, so block will happily make sure the request segments obey it.
> | However, when you get to dma_map_rq() it doesn't see the segment limits,
> | so, if the iommu merges, you can end up with SG elements the other side
> | that violate this. I've been meaning to do something about this for
> | ages (IDE is the other subsystem that has an absolute requirement for a
> | fixed maximum segment size) but never found an excuse to fix it.
>
> http://marc.info/?l=linux-scsi&m=116889641203397

PS:
Nonetheless, yes, fw-sbp2.c is curiously missing to set the template's
max_sectors.
--
Stefan Richter
-=====-=-=== -=-= ---==