Re: [PATCH -mm 0/3] convert IOMMUs to use iova



On Fri, 2 Nov 2007 19:12:27 +0200
Muli Ben-Yehuda <muli@xxxxxxxxxx> wrote:

On Sat, Nov 03, 2007 at 02:05:39AM +0900, FUJITA Tomonori wrote:

This patchset convert the PPC64 IOMMU to use the iova code for free
area management.

The IOMMUs ignores low level drivers' restrictions, the maximum
segment size and segment boundary.

I fixed the former:

http://thread.gmane.org/gmane.linux.scsi/35602

The latter makes the free area management complicated. I'd like to
convert IOMMUs to use the iova code (that intel-iommu introduced)
for free area management and enable iova to handle segment boundary
restrictions, rather than fixing all the IOMMUs' free area
management,

In general it sounds like a great idea, but have you looked at what
impact this has on the performance of the IO path?

Not yet. And I have access to only an entry-class pSeries server so I
would appreciate it if POWERPC people try the patchset with high-end
servers.

The patchset doesn't use the tricks that the current POWERPC IOMMU use
to improve performance (Anton and Olof told me about them, Thanks!)
. So I might need to modify iova for them.

I think that it's difficult to use some tricks used in the IOMMUs with
the iova even if we modify the iova. If the iova degrades performance,
I think that it would be better to have new IOMMU library code to use
simply a bit map that most of the IOMMUs use.

Another possible factor to degrade performance is that we can't
allocate areas for map_sg at one stroke like some of the IOMMUs do.
We need to allocate an area per sg segment to handle segment boundary.
If it's unacceptable, I guess that there is only one way, LLDs
allocate many sg entries and then the IOMMU splits the sg entryes.
-
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/



Relevant Pages

  • Re: [PATCH -mm 0/3] convert IOMMUs to use iova
    ... The IOMMUs ignores low level drivers' restrictions, ... The latter makes the free area management complicated. ... for free area management and enable iova to handle segment boundary ...
    (Linux-Kernel)
  • [PATCH -mm 0/3] convert IOMMUs to use iova
    ... This patchset convert the PPC64 IOMMU to use the iova code for free ... The IOMMUs ignores low level drivers' restrictions, ... The latter makes the free area management complicated. ...
    (Linux-Kernel)
  • Re: [PATCH -mm 0/3] convert IOMMUs to use iova
    ... The IOMMUs ignores low level drivers' restrictions, ... The latter makes the free area management complicated. ... convert IOMMUs to use the iova code ...
    (Linux-Kernel)
  • [PATCH -mm 0/6] fix iommu segment boundary problems (powerpc and x86)
    ... This patchset is a sequel to my patchset to fix iommu segment boundary ... This adds new IOMMU helper functions for the free area ... They are useful for IOMMUs that use bitmap for the free ... The helper functions are very low level. ...
    (Linux-Kernel)