Skip to content

Commit

Permalink
multifd: fix counters in multifd_send_thread
Browse files Browse the repository at this point in the history
Previous commit cbec7eb
"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>
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Message-ID: <20231011184358.97349-4-elena.ufimtseva@oracle.com>
  • Loading branch information
elena-ufimtseva authored and Juan Quintela committed Oct 16, 2023
1 parent c7149dc commit 2110c9b
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions migration/multifd.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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);
Expand Down

0 comments on commit 2110c9b

Please sign in to comment.