From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:47138) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YxAhq-0006Kj-Au for qemu-devel@nongnu.org; Tue, 26 May 2015 04:59:30 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YxAhn-0006sL-60 for qemu-devel@nongnu.org; Tue, 26 May 2015 04:59:26 -0400 Message-ID: <5564359A.2070009@redhat.com> Date: Tue, 26 May 2015 10:58:02 +0200 From: Paolo Bonzini MIME-Version: 1.0 References: <1429964684-23872-1-git-send-email-aik@ozlabs.ru> <1429964684-23872-7-git-send-email-aik@ozlabs.ru> <55633A54.8080807@ozlabs.ru> <20150526024628.GA30620@voom.redhat.com> In-Reply-To: <20150526024628.GA30620@voom.redhat.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 8bit Subject: Re: [Qemu-devel] [PATCH qemu v7 06/14] spapr_iommu: Introduce "enabled" state for TCE table List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: David Gibson , Alexey Kardashevskiy Cc: Michael Roth , Alex Williamson , qemu-ppc@nongnu.org, qemu-devel@nongnu.org, Alexander Graf -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 On 26/05/2015 04:46, David Gibson wrote: > On Tue, May 26, 2015 at 01:05:56AM +1000, Alexey Kardashevskiy > wrote: >> Hi Paolo, >> >> I have had a conversation with Mike and it turns out I am not >> allowed to create/remove memory regions dynamically >> (docs/memory.txt:101); otherwise "destroying regions during >> reset causes assertion in RCU thread during PHB/IOMMU >> unplug/unparent". Is it because patch just missing some >> unref()/unparent() call or it is totally wrong and I have to >> implement subregions (on a PCI bus address space) myself if I >> want dynamic DMA windows? Thanks! I'm blind, can you explain the path where that happens? > So, the sentences after that one note an exception for alias and > container regions. I think iommu regions should behave similarly > - in a sense they're just a procedurally generated collection of > alias regions. The difference is that containers and aliases are resolved at the time the memory region tree is flattened, while IOMMU regions are resolved at run time. > If it's not true now that they can be unparented at any time like > alias regions, we should probably try to make it true. Unfortunately it's not so easy... Paolo