mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-02 23:33:54 -06:00
migration: Make dirty_bytes_last_sync atomic
As we set its value, it needs to be operated with atomics. We rename it from remaining to better reflect its meaning. Statistics always return the real reamaining bytes. This was used to store how much pages where dirty on the previous generation, so we can calculate the expected downtime as: dirty_bytes_last_sync / current_bandwith. If we use the actual remaining bytes, we would see a very small value at the end of the iteration. Signed-off-by: Juan Quintela <quintela@redhat.com> Reviewed-by: Peter Xu <peterx@redhat.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> --- I am open to use ram_bytes_remaining() in its only use and be more "optimistic" about the downtime. Don't use __nocheck() functions. Use stat64_get() now that it exists.
This commit is contained in:
parent
72f8e58707
commit
73208a336e
3 changed files with 4 additions and 3 deletions
|
@ -1224,7 +1224,7 @@ static void migration_bitmap_sync(RAMState *rs)
|
|||
RAMBLOCK_FOREACH_NOT_IGNORED(block) {
|
||||
ramblock_sync_dirty_bitmap(rs, block);
|
||||
}
|
||||
ram_counters.remaining = ram_bytes_remaining();
|
||||
stat64_set(&ram_counters.dirty_bytes_last_sync, ram_bytes_remaining());
|
||||
}
|
||||
qemu_mutex_unlock(&rs->bitmap_mutex);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue