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