qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v6 0/2] Add zerocopy partial flush support for live migrations
@ 2025-10-13  9:21 Tejus GK
  2025-10-13  9:21 ` [PATCH v6 1/2] QIOChannelSocket: add a "blocking" field to QIOChannelSocket Tejus GK
  2025-10-13  9:21 ` [PATCH v6 2/2] QIOChannelSocket: flush zerocopy socket error queue on sendmsg failure due to ENOBUF Tejus GK
  0 siblings, 2 replies; 6+ messages in thread
From: Tejus GK @ 2025-10-13  9:21 UTC (permalink / raw)
  To: qemu-devel; +Cc: Tejus GK

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.

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         | 77 ++++++++++++++++++++++++++++++-------
 2 files changed, 69 insertions(+), 14 deletions(-)

-- 
2.43.7



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

end of thread, other threads:[~2025-10-13  9:39 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-10-13  9:21 [PATCH v6 0/2] Add zerocopy partial flush support for live migrations Tejus GK
2025-10-13  9:21 ` [PATCH v6 1/2] QIOChannelSocket: add a "blocking" field to QIOChannelSocket Tejus GK
2025-10-13  9:23   ` Daniel P. Berrangé
2025-10-13  9:21 ` [PATCH v6 2/2] QIOChannelSocket: flush zerocopy socket error queue on sendmsg failure due to ENOBUF Tejus GK
2025-10-13  9:34   ` Tejus GK
2025-10-13  9:38   ` Daniel P. Berrangé

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).