Once again, iothreads making trouble. When enabled, snapshots including RAM deadlock QEMU, because our async-snapshot implementation (which recently moved back to using coroutines) tries to access and modify the state of disks running in seperate iothreads from the main one.
Patch 1/4 fixes the issue and can be applied standalone, patches 2 and 3 improve snapshot performance for iothread-disks and patch 4 adds some useful debug prints for testing the aforementioned performance patches. See individual patch notes for more. For easier reviewing I sent the patches for the QEMU source itself, if necessary I can also apply them and then send pve-qemu patches including them as .patch files. Kevin Wolf (1): util/async: Add aio_co_reschedule_self() Stefan Reiter (3): savevm-async: move more code to cleanup and rename to finalize savevm-async: flush IOThread-drives async before entering blocking part savevm-async: add debug timing prints include/block/aio.h | 10 ++++ savevm-async.c | 124 +++++++++++++++++++++++++++++++------------- util/async.c | 30 +++++++++++ 3 files changed, 129 insertions(+), 35 deletions(-) -- 2.20.1 _______________________________________________ pve-devel mailing list pve-devel@pve.proxmox.com https://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel