[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1256740619.9814.141.camel@macbook.infradead.org>
Date: Wed, 28 Oct 2009 14:36:59 +0000
From: David Woodhouse <dwmw2@...radead.org>
To: Alex Williamson <alex.williamson@...com>
Cc: iommu@...ts.linux-foundation.org, linux-kernel@...r.kernel.org,
linux-pci@...r.kernel.org
Subject: Re: [PATCH 4/5] intel-iommu: Reinstate RMRRs if a device is
removed from passthrough domain
On Tue, 2009-10-27 at 09:50 -0600, Alex Williamson wrote:
> On Tue, 2009-10-27 at 08:15 +0000, David Woodhouse wrote:
> > On Mon, 2009-10-26 at 17:25 -0600, Alex Williamson wrote:
> > > When a device is setup for passthrough it has full access to memory
> > > so processing the RMRRs is unnecessary. However, if we remove the device
> > > from the si_domain, we need to reinstate the associated RMRRs.
> > >
> > > Signed-off-by: Alex Williamson <alex.williamson@...com>
> >
> > If your device is doing DMA to host memory autonomously, you may still
> > have problems with this patch -- you take it out of the si_domain and
> > then there's a period of time before you reapply the RMRRs, during which
> > its DMA may be prevented.
> >
> > You want to set up the new domain first, then switch the device over to
> > it atomically.
>
> Yes, good point. I'm not seeing any convenient ways to setup a new
> domain for a device while it's still a member of the si_domain. It
> looks like I'd need to extract parts of the get_valid_domain_for_dev()
> path and ignore any bits about using the already existing domain.
That seems like a sane plan. That code wants cleaning up anyway, and
factoring out the 'make new domain' part of get_valid_domain_for_dev()
should be simple enough.
--
dwmw2
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists