OSDN Git Service

migration: Make dirty_bytes_last_sync atomic
authorJuan Quintela <quintela@redhat.com>
Tue, 11 Apr 2023 16:31:20 +0000 (18:31 +0200)
committerJuan Quintela <quintela@redhat.com>
Thu, 27 Apr 2023 14:39:54 +0000 (16:39 +0200)
commit73208a336e249bc8e3bdd76a78d0af7ecaee9178
treef3af835eeb2622e54dcf7148866bd81213a64087
parent72f8e58707395d24c177ffa9f88a25329638fc98
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.
migration/migration.c
migration/ram.c
migration/ram.h