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


Reply via email to