From b013b5d1f32ef88457e66c7ce576f6475238f97f Mon Sep 17 00:00:00 2001 From: Juan Quintela Date: Tue, 11 Apr 2023 17:36:48 +0200 Subject: [PATCH] migration: Make precopy_bytes atomic Signed-off-by: Juan Quintela Reviewed-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 66e5197b77..cbd6f6f235 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.11.4.GIT