[pve-devel] [PATCH qemu 0/4] Fix vmstate-snapshots w/ iothread=1

Stefan Reiter s.reiter at proxmox.com
Wed May 27 11:33:18 CEST 2020


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





More information about the pve-devel mailing list