[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 19/34] migration/multifd: Move pages accounting into multifd_send_
From: |
Fabiano Rosas |
Subject: |
[PULL 19/34] migration/multifd: Move pages accounting into multifd_send_zero_page_detect() |
Date: |
Wed, 4 Sep 2024 09:44:02 -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 c310d28532..410b7e12cc 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
- [PULL 09/34] tests/qtest/migration-helpers: Don't dup argument to qdict_put_str(), (continued)
- [PULL 09/34] tests/qtest/migration-helpers: Don't dup argument to qdict_put_str(), Fabiano Rosas, 2024/09/04
- [PULL 11/34] tests/qtest/migration-test: Don't leak QTestState in test_multifd_tcp_cancel(), Fabiano Rosas, 2024/09/04
- [PULL 10/34] tests/qtest/migration-test: Don't strdup in get_dirty_rate(), Fabiano Rosas, 2024/09/04
- [PULL 15/34] migration/multifd: Pass in MultiFDPages_t to file_write_ramblock_iov, Fabiano Rosas, 2024/09/04
- [PULL 16/34] migration/multifd: Introduce MultiFDSendData, Fabiano Rosas, 2024/09/04
- [PULL 14/34] migration/multifd: Remove pages->allocated, Fabiano Rosas, 2024/09/04
- [PULL 12/34] migration/multifd: Reduce access to p->pages, Fabiano Rosas, 2024/09/04
- [PULL 17/34] migration/multifd: Make MultiFDPages_t:offset a flexible array member, Fabiano Rosas, 2024/09/04
- [PULL 13/34] migration/multifd: Inline page_size and page_count, Fabiano Rosas, 2024/09/04
- [PULL 18/34] migration/multifd: Replace p->pages with an union pointer, Fabiano Rosas, 2024/09/04
- [PULL 19/34] migration/multifd: Move pages accounting into multifd_send_zero_page_detect(),
Fabiano Rosas <=
- [PULL 20/34] migration/multifd: Remove total pages tracing, Fabiano Rosas, 2024/09/04
- [PULL 21/34] migration/multifd: Isolate ram pages packet data, Fabiano Rosas, 2024/09/04
- [PULL 22/34] migration/multifd: Don't send ram data during SYNC, Fabiano Rosas, 2024/09/04
- [PULL 23/34] migration/multifd: Replace multifd_send_state->pages with client data, Fabiano Rosas, 2024/09/04
- [PULL 24/34] migration/multifd: Allow multifd sync without flush, Fabiano Rosas, 2024/09/04
- [PULL 25/34] migration/multifd: Standardize on multifd ops names, Fabiano Rosas, 2024/09/04
- [PULL 26/34] migration/multifd: Register nocomp ops dynamically, Fabiano Rosas, 2024/09/04
- [PULL 27/34] migration/multifd: Move nocomp code into multifd-nocomp.c, Fabiano Rosas, 2024/09/04