On 29/05/2026 15:04, Bin Guo wrote: > This small series fixes two independent issues in the RDMA migration > code path that were noticed while reviewing the QIOChannelRDMA behavior > and migration statistics during RDMA live migration. > > Patch 1 makes QIOChannelRDMA's readv honor the blocking flag set via > io_set_blocking(). Previously, in blocking mode it returned immediately > when the receive buffer could not satisfy the request, diverging from > other QIOChannel implementations. The fix loops on > qemu_rdma_exchange_recv() while the channel is in blocking mode, and > removes the now-stale XXX comments about unimplemented blocking > support. > > Patch 2 fixes transfer accounting for the RDMA zero page compression > path. When a zero page is detected, an RDMA_CONTROL_COMPRESS message > is sent instead of an RDMA Write, but mig_stats.rdma_bytes and > ram_transferred_add() were never updated, so migration progress and > bandwidth were undercounted. The patch accounts the wire cost > (RDMAControlHeader + RDMACompress payload), matching how the non-RDMA > path accounts for zero page markers. > > Both patches are small and self-contained; no behavior change is > expected outside the RDMA migration path. > > Bin Guo (2): > migration/rdma: honor blocking mode in QIOChannelRDMA readv > migration/rdma: account transferred bytes for zero page compression
For the series Reviewed-by: Li Zhijian <[email protected]> > > migration/rdma.c | 62 ++++++++++++++++++++++-------------------------- > 1 file changed, 29 insertions(+), 33 deletions(-) >
