Remove unmapped/freed memory regions from the object property list.
This commit fixes the following issues: - Any unmapped/free'd memory regions (MemoryRegion instances) are not removed from the object property linked list of its owner (which is always qdev_get_machine(uc)). This issue makes adding new memory mapping by calling mem_map() or mem_map_ptr() slower as more and more memory pages are mapped and unmapped - yes, even if those memory pages are unmapped, they still impact the speed of future memory page mappings due to this issue. - FlatView is not reconstructed after a memory region is freed during unmapping, which leads to a use-after-free the next time a new memory region is mapped in address_space_update_topology().
This commit is contained in:
@ -2176,7 +2176,6 @@
|
||||
#define object_property_allow_set_link object_property_allow_set_link_mips
|
||||
#define object_property_del object_property_del_mips
|
||||
#define object_property_del_all object_property_del_all_mips
|
||||
#define object_property_del_child object_property_del_child_mips
|
||||
#define object_property_find object_property_find_mips
|
||||
#define object_property_get object_property_get_mips
|
||||
#define object_property_get_bool object_property_get_bool_mips
|
||||
|
Reference in New Issue
Block a user