-----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