diff options
author | Wei Wang | 2020-06-17 22:13:05 +0200 |
---|---|---|
committer | Peter Maydell | 2020-06-18 11:26:02 +0200 |
commit | 92271402177bb02930113a853f64952d8689b0c0 (patch) | |
tree | e9feaf1f5d6ed0c5d58d8e3e502e17efb7494c79 | |
parent | fpu/softfloat: Silence 'bitwise negation of boolean expression' warning (diff) | |
download | qemu-92271402177bb02930113a853f64952d8689b0c0.tar.gz qemu-92271402177bb02930113a853f64952d8689b0c0.tar.xz qemu-92271402177bb02930113a853f64952d8689b0c0.zip |
migration: fix xbzrle encoding rate calculation
It's reported an error of implicit conversion from "unsigned long" to
"double" when compiling with Clang 10. Simply make the encoding rate 0
when the encoded_size is 0.
Fixes: e460a4b1a4
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reported-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Wei Wang <wei.w.wang@intel.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20200617201309.1640952-3-richard.henderson@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
-rw-r--r-- | migration/ram.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/migration/ram.c b/migration/ram.c index 41cc530d9d..069b6e30bc 100644 --- a/migration/ram.c +++ b/migration/ram.c @@ -913,10 +913,8 @@ static void migration_update_rates(RAMState *rs, int64_t end_time) unencoded_size = (xbzrle_counters.pages - rs->xbzrle_pages_prev) * TARGET_PAGE_SIZE; encoded_size = xbzrle_counters.bytes - rs->xbzrle_bytes_prev; - if (xbzrle_counters.pages == rs->xbzrle_pages_prev) { + if (xbzrle_counters.pages == rs->xbzrle_pages_prev || !encoded_size) { xbzrle_counters.encoding_rate = 0; - } else if (!encoded_size) { - xbzrle_counters.encoding_rate = UINT64_MAX; } else { xbzrle_counters.encoding_rate = unencoded_size / encoded_size; } |