From 7e4d4316855f7f6556364eb16828f925b61c80d4 Mon Sep 17 00:00:00 2001 From: Juan Quintela Date: Tue, 11 Apr 2023 17:36:48 +0200 Subject: [PATCH 12/56] migration: Make precopy_bytes atomic MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit RH-Author: Peter Xu RH-MergeRequest: 162: migration: Pretty failures for postcopy on unsupported memory types RH-Bugzilla: 2057267 RH-Acked-by: Leonardo BrĂ¡s RH-Acked-by: Miroslav Rezanina RH-Acked-by: quintela1 RH-Commit: [11/50] 23bec49b4b8f4d23c2192b401416139e3ca13626 (peterx/qemu-kvm) Signed-off-by: Juan Quintela Reviewed-by: Peter Xu (cherry picked from commit b013b5d1f32ef88457e66c7ce576f6475238f97f) Signed-off-by: Peter Xu --- migration/migration.c | 2 +- migration/ram.c | 2 +- migration/ram.h | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/migration/migration.c b/migration/migration.c index 645fb4b3c5..3a68d93d69 100644 --- a/migration/migration.c +++ b/migration/migration.c @@ -1155,7 +1155,7 @@ static void populate_ram_info(MigrationInfo *info, MigrationState *s) info->ram->page_size = page_size; info->ram->multifd_bytes = stat64_get(&ram_counters.multifd_bytes); info->ram->pages_per_second = s->pages_per_second; - info->ram->precopy_bytes = ram_counters.precopy_bytes; + info->ram->precopy_bytes = stat64_get(&ram_counters.precopy_bytes); info->ram->downtime_bytes = ram_counters.downtime_bytes; info->ram->postcopy_bytes = stat64_get(&ram_counters.postcopy_bytes); diff --git a/migration/ram.c b/migration/ram.c index 93e0a48af4..0b4693215e 100644 --- a/migration/ram.c +++ b/migration/ram.c @@ -463,7 +463,7 @@ RAMStats ram_counters; void ram_transferred_add(uint64_t bytes) { if (runstate_is_running()) { - ram_counters.precopy_bytes += bytes; + stat64_add(&ram_counters.precopy_bytes, bytes); } else if (migration_in_postcopy()) { stat64_add(&ram_counters.postcopy_bytes, bytes); } else { diff --git a/migration/ram.h b/migration/ram.h index 2170c55e67..a766b895fa 100644 --- a/migration/ram.h +++ b/migration/ram.h @@ -50,7 +50,7 @@ typedef struct { Stat64 normal; Stat64 postcopy_bytes; int64_t postcopy_requests; - uint64_t precopy_bytes; + Stat64 precopy_bytes; int64_t remaining; Stat64 transferred; } RAMStats; -- 2.39.1