Skip to content

RFC Fix migration issues

Fei Li qemu-devel 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 RFC Latest2 patches 9 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/2migration: fix the multifd codemigration/ram.c+20 -60 replies
2/2migration: fix some error handlingmigration/migration.c migration/postcopy-ram.c migration/ram.c +1 more+8 -90 replies

Reviews trailers per patch

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

Read the v1 thread

Cover letter [Qemu-devel] [PATCH RFC 0/2] Fix migration issues

Hi,
these two patches are to fix live migration issues. The first is about multifd, and the second is to fix some error handling.

But I have a question about using multifd migration.
In our current code, when multifd is used during migration, if there is an error before the destination receives all new channels (I mean multifd_recv_new_channel(ioc)), the destination does not exit but keeps waiting (Hang in recvmsg() in qio_channel_socket_readv) until the source exits.

My question is about the state of the destination host if fails during this period. I did a test, after applying [1/2] patch, if multifd_new_send_channel_async() fails, the destination host hangs for a while then later pops up a window saying
"'QEMU (...) [stopped]' is not responding.
You may choose to wait a short while for it to continue or force the application to quit entirely."
But after closing the window by clicking, the qemu on the dest still hangs there until I exclusively kill the qemu on the source.

The source host keeps running as expected, but I guess the hang phenonmenon in the dest is not right.
Would someone kindly give some suggestions on this? Thanks a lot.

Fei Li (2):
migration: fix the multifd code
migration: fix some error handling

 migration/migration.c    |  5 +----
 migration/postcopy-ram.c |  3 +++
 migration/ram.c          | 33 +++++++++++++++++++++++----------
 migration/ram.h          |  2 +-
 4 files changed, 28 insertions(+), 15 deletions(-)
Signature · 1 line
2.13.7