Re: IOMMU and graphics cards

FUJITA Tomonori
2009-05-07T10:24:55Z

On Thu, 7 May 2009 12:01:14 +0200
Joerg Roedel <joerg.roedel@amd.com> wrote:

> > Do you meant that AMD IOMMU code use the bitmap each device to manage
> > address space so enlarging the DMA address space wastes memory?
>
> Its not only the bitmap. There are also the page tables that would waste
> memory if the aperture in the AMD IOMMU driver is enlarged to, say, 4GB.
> Most devices don't need such a large amount of DMA address space. As I
> found out VT-d does not have this problem because they implemented
> another allocator which can cover all possible memory.
> For the AMD IOMMU I currently implement a kind of a dynamically growing
> bitmap allocator to fix this problem.

Yeah, I know the deference. Well, I like the AMD IOMMU driver's
property that dma mapping doesn't fail in OOM but I understand why you
want such daynamically growing.

> > > But unless this problem isn't solved the
> > > drivers won't be fixed, I guess.
> > > I guess the DRM code in the kernel may have the same problem with IOMMU
> > > enabled?
> >
> > Looks like the DRM code uses the DMA API.
>
> The proprietary drivers make problems so far. For the ATI one I am in
> contact with the developers to try to fix it. But I can't do anything
> about the other proprietary driver I am aware of :-(

I don't know anything about the graphic drivers but are there any
other proprietary drivers except for ATI and AMD? Fixing only two
drivers to make the majority happy?