Re: IOMMU and graphics cards

From: Ingo Molnar
Date: Thu May 07 2009 - 07:26:41 EST



* FUJITA Tomonori <fujita.tomonori@xxxxxxxxxxxxx> wrote:

> On Thu, 7 May 2009 13:01:35 +0200
> Ingo Molnar <mingo@xxxxxxx> wrote:
>
> >
> > * FUJITA Tomonori <fujita.tomonori@xxxxxxxxxxxxx> wrote:
> >
> > > > 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?
> >
> > ATI ~== AMD these days. The problem is Nvidia cards stuck into AMD
> > systems.
>
> Oops, I meant ATI and Nvidia.
>
>
> > I guess refusing those DMA accesses (and printing something
> > meaningful and relentlessly honest so that the user knows where the
> > problem comes from) is the proper solution.
>
> Refusing DMA means that we will break these broken drivers. That's
> what David and I like. Yeah, telling users explicitly who is to
> blame for the problem is even better.

If it means a non-working Xorg, then there might be nothing on the
screen to report - just a seemingly hung box and people will blame
the kernel. It might be better to just turn off all things IOMMU at
that point, but still allow things to continue.

... which might break good drivers that relied on the IOMMU sorting
out 32-bit DMA space limitations.

So it would be nice to make the failure mode somehow nicer. I.e.
test how this affects the nvidia driver. Is there something on the
screen to see? Could we print an URL to the Noveau driver perhaps
too?

A bad solution in general is to crash/hang a significant proportion
of Linux boxes. That is a foot-in-own-mouth masochistic excercise
mostly, it creates a stigma for the IOMMU code, not for nvidia. So
the failure mode has to be well thought out.

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