Re: [PATCH] speed up SATA

From: Jeff Garzik
Date: Sat Mar 27 2004 - 19:11:57 EST

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.


To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at