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

Reply via email to