From: Rao, Lei Date: Wed, 10 Nov 2021 08:37:36 +0000 (+0800) Subject: migration/ram.c: Remove the qemu_mutex_lock in colo_flush_ram_cache. X-Git-Tag: v7.0.0-rc0~130^2~17 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=672159a97ce7c1ca2b97bfef439d7994f79b1c61;p=thirdparty%2Fqemu.git migration/ram.c: Remove the qemu_mutex_lock in colo_flush_ram_cache. The code to acquire bitmap_mutex is added in the commit of "63268c4970a5f126cc9af75f3ccb8057abef5ec0". There is no need to acquire bitmap_mutex in colo_flush_ram_cache(). This is because the colo_flush_ram_cache only be called on the COLO secondary VM, which is the destination side. On the COLO secondary VM, only the COLO thread will touch the bitmap of ram cache. Signed-off-by: Lei Rao Reviewed-by: Zhang Chen Reviewed-by: Juan Quintela Signed-off-by: Juan Quintela --- diff --git a/migration/ram.c b/migration/ram.c index 863035d2351..2c688f5bbb6 100644 --- a/migration/ram.c +++ b/migration/ram.c @@ -3918,7 +3918,6 @@ void colo_flush_ram_cache(void) unsigned long offset = 0; memory_global_dirty_log_sync(); - qemu_mutex_lock(&ram_state->bitmap_mutex); WITH_RCU_READ_LOCK_GUARD() { RAMBLOCK_FOREACH_NOT_IGNORED(block) { ramblock_sync_dirty_bitmap(ram_state, block); @@ -3954,7 +3953,6 @@ void colo_flush_ram_cache(void) } } trace_colo_flush_ram_cache_end(); - qemu_mutex_unlock(&ram_state->bitmap_mutex); } /**