Re: more iommu sg merging fallout

From: David Miller
Date: Wed Feb 06 2008 - 18:19:44 EST


From: FUJITA Tomonori <fujita.tomonori@xxxxxxxxxxxxx>
Date: Thu, 07 Feb 2008 08:12:36 +0900

> Really sorry about it.

I am happy to test patches you send to me in the future :-)

> PARISC, Alpha, and IA64 IOMMUs use the two-pass algorithm like SPARC
> but their first pass decides how to merge sg entires (and stores that
> information in the sg entries), then the second pass simpliy follows
> it (Hopefully I understand these IOMMUs correctly, or else I break
> them too).

For now I've removed all of the merging code from the sparc64 IOMMU
support so that other users do not get corrupt filesystems. It
basically mimicks how the intel-iommu code works, ie. no attempts to
merge anything.

I intend to put merging back in, perhaps something similar to
powerpc's merging logic but without the expensive (in my opinion)
IOMMU allocation every loop. I think it is better to determine the
segment breaks in one pass, allocate that many IOMMU entries in one
allocation, then fill them all in.

Ideally, we should have some generic code that does all of this.
Then you would only need to test one implementation.

It is definitely doable and increasingly necessary as we have so
many reimplementations of what is essentially identical core code.

--
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/