]> git.ipfire.org Git - thirdparty/qemu.git/commit
memory: seek FlatView sharing candidates among children subregions
authorPaolo Bonzini <pbonzini@redhat.com>
Thu, 21 Sep 2017 10:28:16 +0000 (12:28 +0200)
committerMichael Roth <mdroth@linux.vnet.ibm.com>
Tue, 5 Dec 2017 04:41:57 +0000 (22:41 -0600)
commit639701e4f2f57cd54b657a8281dba72d067db8ee
tree4c367ecbfa8ac0448fba9f498f7e3f7550f35b38
parent5dbd1f7884bedb04c4229499444502dc98a42db2
memory: seek FlatView sharing candidates among children subregions

A container can be used instead of an alias to allow switching between
multiple subregions.  In this case we cannot directly share the
subregions (since they only belong to a single parent), but if the
subregions are aliases we can in turn walk those.

This is not enough to remove all source of quadratic FlatView creation,
but it enables sharing of the PCI bus master FlatViews (and their
AddressSpaceDispatch structures) across all PCI devices.  For 112
virtio-net-pci devices, boot time is reduced from 25 to 10 seconds and
memory consumption from 1.4 to 1 G.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
(cherry picked from commit e673ba9af9bf8fd8e0f44025ac738b8285b3ed27)
Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
memory.c