On Tue, May 26, 2015 at 10:58:02AM +0200, Paolo Bonzini wrote: > -----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...
Ah, yeah, drat. -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson
pgpQNTyOJyqhi.pgp
Description: PGP signature