Re: PATCH: Further aacraid work

From: Alan Cox
Date: Thu Jun 17 2004 - 15:59:43 EST


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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/