Il 17/09/2013 14:47, Michael S. Tsirkin ha scritto: > Ergo, to make sure a referenced MR does not get > destroyed, we must make sure only finalize > calls memory_region_destroy. > > So I think this patchset should do exactly that, > not try to move out more stuff to finalize.
Yes, this is the part of the problem that applies to all devices. Some devices may have timers or other dynamically-allocated data that may be used between exit and finalize. The same applies to capabilities such as MSI and MSI-X. All this must also be moved to finalize, but this can be done in separate patches. I'll separate the series as follows: - memory_region_destroy - unregister_savevm - other dynamically allocated data - del_vm_change_state_handler - MSI-X - SHPC, AER and other PCI/bridge stuff Paolo