qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/5] migration: Fix disorder of channel creations
@ 2022-12-13 21:38 Peter Xu
  2022-12-13 21:38 ` [PATCH 1/5] io: Add support for MSG_PEEK for socket channel Peter Xu
                   ` (4 more replies)
  0 siblings, 5 replies; 13+ messages in thread
From: Peter Xu @ 2022-12-13 21:38 UTC (permalink / raw)
  To: qemu-devel
  Cc: Juan Quintela, Daniel P . Berrange, Leonardo Bras Soares Passos,
	Manish Mishra, Dr . David Alan Gilbert, peterx

Based-on: <20221011215559.602584-1-peterx@redhat.com>

This whole set is based on the whole set of preempt-full mode being applied
first here:

https://lore.kernel.org/r/20221011215559.602584-1-peterx@redhat.com

I also picked up the latest version from Manish on fixing multifd
counterpart of the problem, here (which are the initial two patches):

https://lore.kernel.org/r/20221123172735.25181-1-manish.mishra@nutanix.com

One trivial change is to fix RDMA builds for patch 1 there.

I verified that I can trigger disordered connections with preempt mode
postcopy (1 out of a few attemps), which can cause migration to hang during
precopy phase, if e.g. I set the NIC packet loss rate to 50%.  So now with
all the 5 patches applied we should fix all the migration disorder issue on
channel creation.

Patch 3 is IMHO a cleanup that I'd think good to have even without patch
4/5.  Patch 5 actually fixes the ordering issue.  For each of the patch,
please refer to the commit message and comments in-code.  Any comment
welcomed.

A side note to Juan: logically it should apply cleanly to your -next tree
as long as Manish's patches are not there - because they're also included
here with a fix to RDMA builds.

Peter Xu (3):
  migration: Rework multi-channel checks on URI
  migration: Add a semaphore to count PONGs
  migration: Postpone postcopy preempt channel to be after main

manish.mishra (2):
  io: Add support for MSG_PEEK for socket channel
  migration: check magic value for deciding the mapping of channels

 chardev/char-socket.c               |   4 +-
 include/io/channel.h                |   6 +
 io/channel-buffer.c                 |   1 +
 io/channel-command.c                |   1 +
 io/channel-file.c                   |   1 +
 io/channel-null.c                   |   1 +
 io/channel-socket.c                 |  17 ++-
 io/channel-tls.c                    |   1 +
 io/channel-websock.c                |   1 +
 io/channel.c                        |  16 ++-
 migration/channel-block.c           |   1 +
 migration/channel.c                 |  45 ++++++++
 migration/channel.h                 |   5 +
 migration/migration.c               | 164 +++++++++++++++++++---------
 migration/migration.h               |  15 ++-
 migration/multifd.c                 |  24 +---
 migration/multifd.h                 |   2 +-
 migration/postcopy-ram.c            |  36 +++---
 migration/postcopy-ram.h            |   6 +-
 migration/rdma.c                    |   1 +
 migration/savevm.c                  |   6 +-
 scsi/qemu-pr-helper.c               |   2 +-
 tests/qtest/tpm-emu.c               |   2 +-
 tests/unit/test-io-channel-socket.c |   1 +
 util/vhost-user-server.c            |   2 +-
 25 files changed, 254 insertions(+), 107 deletions(-)

-- 
2.37.3



^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2022-12-16 14:30 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-12-13 21:38 [PATCH 0/5] migration: Fix disorder of channel creations Peter Xu
2022-12-13 21:38 ` [PATCH 1/5] io: Add support for MSG_PEEK for socket channel Peter Xu
2022-12-14  9:14   ` Daniel P. Berrangé
2022-12-14 21:30     ` Peter Xu
2022-12-15  9:40       ` Daniel P. Berrangé
2022-12-15 17:35         ` Peter Xu
2022-12-16 10:40           ` manish.mishra
2022-12-16 14:30             ` Peter Xu
2022-12-13 21:38 ` [PATCH 2/5] migration: check magic value for deciding the mapping of channels Peter Xu
2022-12-14  9:15   ` Daniel P. Berrangé
2022-12-13 21:38 ` [PATCH 3/5] migration: Rework multi-channel checks on URI Peter Xu
2022-12-13 21:38 ` [PATCH 4/5] migration: Add a semaphore to count PONGs Peter Xu
2022-12-13 21:38 ` [PATCH 5/5] migration: Postpone postcopy preempt channel to be after main Peter Xu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).