[PATCH v5 0/3] Add zerocopy partial flush support for live migrations

Tejus GK posted 3 patches 1 month ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20251009101420.3048487-1-tejus.gk@nutanix.com
Maintainers: "Daniel P. Berrangé" <berrange@redhat.com>, Peter Xu <peterx@redhat.com>, Fabiano Rosas <farosas@suse.de>
There is a newer version of this series
include/io/channel-socket.h |  6 +++
include/io/channel.h        |  1 +
io/channel-socket.c         | 80 ++++++++++++++++++++++++++++++-------
migration/multifd-nocomp.c  |  3 +-
migration/multifd.c         |  3 +-
5 files changed, 76 insertions(+), 17 deletions(-)
[PATCH v5 0/3] Add zerocopy partial flush support for live migrations
Posted by Tejus GK 1 month ago
Hi all,

This series introduces support for partial flushing of the socket error
queue during a zerocopy enabled live migration. This will help reduce
live migration errors due to ENOBUFS in scenarios where a lot of
out-of-order processing may happen.

V5:
  1. Introduced a new write flag
     QIO_CHANNEL_WRITE_FLAG_ZERO_COPY_FLUSH_ONCE, which will let callers
     decide if they want to do a partial flush on an ENOBUFS.
  2. Added a "blocking" field to QIOChannelSocket, which indicates if
     the socket is in blocking mode or not.

V4:
  1. Minor nit to rename s/zero_copy_flush_pending/zerocopy_flushed_once.

V3:
  1. Add the dirty_sync_missed_zero_copy migration stat again.

V2:
  1. Removed the dirty_sync_missed_zero_copy migration stat.
  2. Made the call to qio_channel_socket_flush_internal() from
     qio_channel_socket_writev() non-blocking

regards,
tejus

Manish Mishra (1):
  QIOChannelSocket: flush zerocopy socket error queue on sendmsg failure
    due to ENOBUF

Tejus GK (2):
  QIOChannelSocket: add a "blocking" field to QIOChannelSocket
  io: add a write flag for partial flushing during a zerocopy write

 include/io/channel-socket.h |  6 +++
 include/io/channel.h        |  1 +
 io/channel-socket.c         | 80 ++++++++++++++++++++++++++++++-------
 migration/multifd-nocomp.c  |  3 +-
 migration/multifd.c         |  3 +-
 5 files changed, 76 insertions(+), 17 deletions(-)

-- 
2.43.7