Messages in this thread | | | Date | Thu, 17 Jun 2004 16:54:14 -0400 | From | Alan Cox <> | Subject | Re: PATCH: Further aacraid work |
| |
On Thu, Jun 17, 2004 at 09:10:43PM +0200, Andi Kleen wrote: > The AMD64 IOMMU could do it too (and the code to do it exists in > 2.6). But the problem is that the current IO layer doesn't provide a > sufficient fallback path when this fails. You have to promise in > advance that you can merge and then later it's too late to change your > mind without signalling an IO error.
I would rather see it below the I/O layer for things like AMD64. The reason I say this is that many drivers would suffer from iommu merging not gain, and others may have limits.
Something like
new_sglist = sg_squash(old_sglist, [target max segments], [max per seg])
could be used by drivers when appropriate to hand back a better sg list (or if not possible the existing one). That would put control rather closer to the driver.
Alan
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |