Re: [PATCH] speed up SATA

Jeff Garzik
2004-03-28T00:09:20Z

Bartlomiej Zolnierkiewicz wrote:
> On Sunday 28 of March 2004 00:40, Jeff Garzik wrote:
>
>>Jeff Garzik wrote:
>>
>>>That's the main limitation on request size right now... libata limits
>>>S/G table entries to 128[1], so a perfectly aligned, fully merged
>>
>> ...
>>
>>[1] because even though the block layer properly splits on segment
>>boundaries, pci_map_sg() may violate those boundaries (James B and
>>others are working on fixing this). So... for right now the driver
>>must check the s/g entry boundaries after DMA mapping, and split them
>>(again) if necessary. IDE does this in ide_build_dmatable().
>
>
> You are right but small clarification is needed: code in ide_build_dmatable()
> predates segment boundary support in block layer (IDE never relied on it).

Agreed... I'm saying it's still needed.

When the iommu layer knows about the boundaries it should respect, that
code can be removed from libata and drivers/ide, IMO... But also
double-check and make sure IDE driver supports the worst case, by
limiting to 128 PRD entries, not 256.

Jeff