Skip to content

Commit

Permalink
migration/rdma: Don't use imaginary transfers
Browse files Browse the repository at this point in the history
RDMA protocol is completely asynchronous, so in qemu_rdma_save_page()
they "invent" that a byte has been transferred.  And then they call
qemu_file_credit_transfer() and ram_transferred_add() with that byte.
Just remove that calls as nothing has been sent.

Reviewed-by: Leonardo Bras <leobras@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Message-Id: <20230515195709.63843-14-quintela@redhat.com>
  • Loading branch information
Juan Quintela committed Sep 29, 2023
1 parent e337803 commit 2ebe5d4
Show file tree
Hide file tree
Showing 2 changed files with 1 addition and 5 deletions.
5 changes: 1 addition & 4 deletions migration/qemu-file.c
Original file line number Diff line number Diff line change
Expand Up @@ -332,13 +332,10 @@ size_t ram_control_save_page(QEMUFile *f, ram_addr_t block_offset,

if (ret != RAM_SAVE_CONTROL_DELAYED &&
ret != RAM_SAVE_CONTROL_NOT_SUPP) {
if (bytes_sent && *bytes_sent > 0) {
qemu_file_credit_transfer(f, *bytes_sent);
} else if (ret < 0) {
if (ret < 0) {
qemu_file_set_error(f, ret);
}
}

return ret;
}

Expand Down
1 change: 0 additions & 1 deletion migration/ram.c
Original file line number Diff line number Diff line change
Expand Up @@ -1197,7 +1197,6 @@ static bool control_save_page(PageSearchStatus *pss, RAMBlock *block,
}

if (bytes_xmit) {
ram_transferred_add(bytes_xmit);
*pages = 1;
}

Expand Down

0 comments on commit 2ebe5d4

Please sign in to comment.