Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
ram: Let colo_flush_ram_cache take the bitmap_mutex
This is not required, colo_flush_ram_cache does not run concurrently
with the multifd threads since the cache is only flushed after
everything has been received. But it makes me more comfortable.

This will be used in the next commits to add colo support to multifd.

Signed-off-by: Lukas Straub <lukasstraub2@web.de>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Message-Id: <35cb23ba854151d38a31e3a5c8a1020e4283cb4a.1683572883.git.lukasstraub2@web.de>
Signed-off-by: Juan Quintela <quintela@redhat.com>
  • Loading branch information
Lukey3332 authored and Juan Quintela committed May 9, 2023
1 parent c286c4d commit 2012f2d
Showing 1 changed file with 2 additions and 0 deletions.
2 changes: 2 additions & 0 deletions migration/ram.c
Expand Up @@ -3814,6 +3814,7 @@ 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);
Expand Down Expand Up @@ -3848,6 +3849,7 @@ void colo_flush_ram_cache(void)
}
}
}
qemu_mutex_unlock(&ram_state->bitmap_mutex);
trace_colo_flush_ram_cache_end();
}

Expand Down

0 comments on commit 2012f2d

Please sign in to comment.