[PATCH v7 0/2] Add zerocopy partial flush support for live migrations

Tejus GK posted 2 patches 2 days, 19 hours ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20251024131546.929499-1-tejus.gk@nutanix.com
Maintainers: "Daniel P. Berrangé" <berrange@redhat.com>
include/io/channel-socket.h |  6 +++
io/channel-socket.c         | 82 ++++++++++++++++++++++++++++++-------
2 files changed, 74 insertions(+), 14 deletions(-)
[PATCH v7 0/2] Add zerocopy partial flush support for live migrations
Posted by Tejus GK 2 days, 19 hours 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.

V7:
   1. Added a comment explaining the usage of G_IO_ERR on the socket error
      queue.

V6:
   1. Dropped QIO_CHANNEL_WRITE_FLAG_ZERO_COPY_FLUSH_ONCE, since it's
      redundant.

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 (1):
  QIOChannelSocket: add a "blocking" field to QIOChannelSocket

 include/io/channel-socket.h |  6 +++
 io/channel-socket.c         | 82 ++++++++++++++++++++++++++++++-------
 2 files changed, 74 insertions(+), 14 deletions(-)

-- 
2.43.7