Skip to content

RFC Separate thread for VM migration

Umesh Deshpande kvm qemu-devel 5 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v5 RFC Latest4 patches 5 repliesIn review
  2. v4 RFC4 of 5 patches 8 repliesSuperseded
  3. v3 RFC4 patches 14 repliesSuperseded
Earlier versions · 2
VersionPostedPatchesRepliesStatus
v2 RFC3 patches7 repliesSuperseded
v1 RFC2 patches1 replySuperseded

Patches in v5 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/4MRU ram listcpu-all.h exec.c+14 -50 replies
2/4Migration thread mutexarch_init.c cpu-all.h exec.c +1 more+49 -01 reply
3/4Separate migration bitmaparch_init.c cpu-all.h exec.c+102 -90 replies
4/4Separate thread for VM migrationbuffered_file.c migration.c migration.h +3 more+132 -900 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v5 yet.

Read the v5 thread

Cover letter [RFC PATCH v5 0/4] Separate thread for VM migration

Following patch series deals with VCPU and iothread starvation during the migration of a guest. Currently the iothread is responsible for performing the guest migration. It holds qemu_mutex during the migration and doesn't allow VCPU to enter the qemu mode and delays its return to the guest. The guest migration, executed as an iohandler also delays the execution of other iohandlers. In the following patch series,

The migration has been moved to a separate thread to reduce the qemu_mutex contention and iohandler starvation.

Umesh Deshpande (4):
MRU ram block list
migration thread mutex
separate migration bitmap
separate migration thread

 arch_init.c         |   38 ++++++++++++----
 buffered_file.c     |   75 +++++++++++++++++--------------
 cpu-all.h           |   42 +++++++++++++++++
 exec.c              |   97 ++++++++++++++++++++++++++++++++++++++--
 migration.c         |  122 +++++++++++++++++++++++++++++---------------------
 migration.h         |    9 ++++
 qemu-common.h       |    2 +
 qemu-thread-posix.c |   10 ++++
 qemu-thread.h       |    1 +
 savevm.c            |    5 --
 10 files changed, 297 insertions(+), 104 deletions(-)
Signature · 1 line
1.7.4.1