Message ID | 20230922065625.21848-4-elena.ufimtseva@oracle.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | multifd: various fixes | expand |
Elena Ufimtseva <elena.ufimtseva@oracle.com> writes: > Previous commit cbec7eb76879d419e7dbf531ee2506ec0722e825 > "migration/multifd: Compute transferred bytes correctly" > removed accounting for packet_len in non-rdma > case, but the next_packet_size only accounts for pages, not for > the header packet (normal_pages * PAGE_SIZE) that is being sent > as iov[0]. The packet_len part should be added to account for > the size of MultiFDPacket and the array of the offsets. > > Signed-off-by: Elena Ufimtseva <elena.ufimtseva@oracle.com> I don't really understand the purpose of next_packet_size, but the accounting and explanation seem correct. Reviewed-by: Fabiano Rosas <farosas@suse.de>
diff --git a/migration/multifd.c b/migration/multifd.c index e61e458151..3281397b18 100644 --- a/migration/multifd.c +++ b/migration/multifd.c @@ -714,8 +714,6 @@ static void *multifd_send_thread(void *opaque) if (ret != 0) { break; } - stat64_add(&mig_stats.multifd_bytes, p->packet_len); - stat64_add(&mig_stats.transferred, p->packet_len); } else { /* Send header using the same writev call */ p->iov[0].iov_len = p->packet_len; @@ -728,8 +726,10 @@ static void *multifd_send_thread(void *opaque) break; } - stat64_add(&mig_stats.multifd_bytes, p->next_packet_size); - stat64_add(&mig_stats.transferred, p->next_packet_size); + stat64_add(&mig_stats.multifd_bytes, + p->next_packet_size + p->packet_len); + stat64_add(&mig_stats.transferred, + p->next_packet_size + p->packet_len); qemu_mutex_lock(&p->mutex); p->pending_job--; qemu_mutex_unlock(&p->mutex);
Previous commit cbec7eb76879d419e7dbf531ee2506ec0722e825 "migration/multifd: Compute transferred bytes correctly" removed accounting for packet_len in non-rdma case, but the next_packet_size only accounts for pages, not for the header packet (normal_pages * PAGE_SIZE) that is being sent as iov[0]. The packet_len part should be added to account for the size of MultiFDPacket and the array of the offsets. Signed-off-by: Elena Ufimtseva <elena.ufimtseva@oracle.com> --- migration/multifd.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)