Re: [PATCH] intel-iommu: Default to non-coherent for domainsunattached to iommus

From: Chris Wright
Date: Fri Nov 11 2011 - 19:58:41 EST


* David Woodhouse (dwmw2@xxxxxxxxxxxxx) wrote:
> On Fri, 2011-11-11 at 16:45 -0800, Chris Wright wrote:
> > > So if you were to ditch the whole idea of a per-domain runtime update,
> > > and instead calculate a global value for 'iommu_coherency' at boot time,
> > > by iterating over for_each_active_iommu()¹, I think that would be a
> > > better way to deal with the issue. And you *could* really call that a
> > > 'fix'.
> > >
> > > Make sense?
> >
> > Ideally, yes. Not sure we can practically do it though. Would have to
> > be sure we force incoherent access mode for the busted hw.
>
> Why's it not practical? You do the *same* loop we currently have in
> domain_update_iommu_coherency(), except that you do it just *once*, over
> all active IOMMUs, at boot time. And then you just use that result
> forever more.

Yeah, you're right, that should be simple enough. What about snoop
control? Same thing...should we expect it to be system wide? Because
that one's exported out to KVM and used.

> So if *any* IOMMU in the system is non-coherent, you run them all that
> way.

Minus the measureable slowdown for some devices that were behind coherent
IOMMU (IIRC, the chipsets that had this issue were mobile anyway, so
not as performance sensitive), *nod* .

thanks,
-chris
--
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/