[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v3 08/14] migration/multifd: Move pages accounting into multifd_s
From: |
Fabiano Rosas |
Subject: |
[PATCH v3 08/14] migration/multifd: Move pages accounting into multifd_send_zero_page_detect() |
Date: |
Thu, 1 Aug 2024 09:35:10 -0300 |
All references to pages are being removed from the multifd worker
threads in order to allow multifd to deal with different payload
types.
multifd_send_zero_page_detect() is called by all multifd migration
paths that deal with pages and is the last spot where zero pages and
normal page amounts are adjusted. Move the pages accounting into that
function.
Reviewed-by: Peter Xu <peterx@redhat.com>
Signed-off-by: Fabiano Rosas <farosas@suse.de>
---
migration/multifd-zero-page.c | 7 ++++++-
migration/multifd.c | 2 --
2 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/migration/multifd-zero-page.c b/migration/multifd-zero-page.c
index 6506a4aa89..f1e988a959 100644
--- a/migration/multifd-zero-page.c
+++ b/migration/multifd-zero-page.c
@@ -14,6 +14,7 @@
#include "qemu/cutils.h"
#include "exec/ramblock.h"
#include "migration.h"
+#include "migration-stats.h"
#include "multifd.h"
#include "options.h"
#include "ram.h"
@@ -53,7 +54,7 @@ void multifd_send_zero_page_detect(MultiFDSendParams *p)
if (!multifd_zero_page_enabled()) {
pages->normal_num = pages->num;
- return;
+ goto out;
}
/*
@@ -74,6 +75,10 @@ void multifd_send_zero_page_detect(MultiFDSendParams *p)
}
pages->normal_num = i;
+
+out:
+ stat64_add(&mig_stats.normal_pages, pages->normal_num);
+ stat64_add(&mig_stats.zero_pages, pages->num - pages->normal_num);
}
void multifd_recv_zero_page_process(MultiFDRecvParams *p)
diff --git a/migration/multifd.c b/migration/multifd.c
index 8771cda734..739fc01cbe 100644
--- a/migration/multifd.c
+++ b/migration/multifd.c
@@ -989,8 +989,6 @@ static void *multifd_send_thread(void *opaque)
stat64_add(&mig_stats.multifd_bytes,
p->next_packet_size + p->packet_len);
- stat64_add(&mig_stats.normal_pages, pages->normal_num);
- stat64_add(&mig_stats.zero_pages, pages->num - pages->normal_num);
multifd_pages_reset(pages);
p->next_packet_size = 0;
--
2.35.3
- [PATCH v3 00/14] migration/multifd: Remove multifd_send_state->pages, Fabiano Rosas, 2024/08/01
- [PATCH v3 05/14] migration/multifd: Introduce MultiFDSendData, Fabiano Rosas, 2024/08/01
- [PATCH v3 06/14] migration/multifd: Make MultiFDPages_t:offset a flexible array member, Fabiano Rosas, 2024/08/01
- [PATCH v3 08/14] migration/multifd: Move pages accounting into multifd_send_zero_page_detect(),
Fabiano Rosas <=
- [PATCH v3 03/14] migration/multifd: Remove pages->allocated, Fabiano Rosas, 2024/08/01
- [PATCH v3 02/14] migration/multifd: Inline page_size and page_count, Fabiano Rosas, 2024/08/01
- [PATCH v3 10/14] migration/multifd: Don't send ram data during SYNC, Fabiano Rosas, 2024/08/01
- [PATCH v3 14/14] migration/multifd: Move ram code into multifd-ram.c, Fabiano Rosas, 2024/08/01