Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755721AbZJ0Pub (ORCPT ); Tue, 27 Oct 2009 11:50:31 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1755622AbZJ0Pua (ORCPT ); Tue, 27 Oct 2009 11:50:30 -0400 Received: from g5t0009.atlanta.hp.com ([15.192.0.46]:38484 "EHLO g5t0009.atlanta.hp.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755548AbZJ0Pua (ORCPT ); Tue, 27 Oct 2009 11:50:30 -0400 Subject: Re: [PATCH 4/5] intel-iommu: Reinstate RMRRs if a device is removed from passthrough domain From: Alex Williamson To: David Woodhouse Cc: iommu@lists.linux-foundation.org, linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org In-Reply-To: <1256631324.9814.14.camel@macbook.infradead.org> References: <20091026232401.9646.90540.stgit@nehalem.aw> <20091026232514.9646.58322.stgit@nehalem.aw> <1256631324.9814.14.camel@macbook.infradead.org> Content-Type: text/plain; charset="UTF-8" Organization: HP OSLO R&D Date: Tue, 27 Oct 2009 09:50:32 -0600 Message-ID: <1256658632.5937.7.camel@bling> Mime-Version: 1.0 X-Mailer: Evolution 2.28.1 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1306 Lines: 30 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 > > 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. Is there an easier way? Thanks, Alex -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/