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