The bitmap mutex is used to synchronize threads to update the dirty bitmap and the migration_dirty_pages counter. This patch makes migration_bitmap_clear_dirty update the bitmap and counter under the mutex.
Signed-off-by: Wei Wang <[email protected]> CC: Dr. David Alan Gilbert <[email protected]> CC: Juan Quintela <[email protected]> CC: Michael S. Tsirkin <[email protected]> --- migration/ram.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/migration/ram.c b/migration/ram.c index 0e90efa..9a72b1a 100644 --- a/migration/ram.c +++ b/migration/ram.c @@ -795,11 +795,14 @@ static inline bool migration_bitmap_clear_dirty(RAMState *rs, { bool ret; + qemu_mutex_lock(&rs->bitmap_mutex); ret = test_and_clear_bit(page, rb->bmap); if (ret) { rs->migration_dirty_pages--; } + qemu_mutex_unlock(&rs->bitmap_mutex); + return ret; } -- 1.8.3.1 --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
