Signed-off-by: Juan Quintela <quint...@redhat.com> --- migration/migration.c | 4 +++- migration/ram.c | 4 ++-- migration/ram.h | 2 +- qapi-schema.json | 6 +++++- 4 files changed, 11 insertions(+), 5 deletions(-)
diff --git a/migration/migration.c b/migration/migration.c index ea3d41c..2c13217 100644 --- a/migration/migration.c +++ b/migration/migration.c @@ -518,7 +518,9 @@ static void populate_ram_info(MigrationInfo *info, MigrationState *s) } if (s->state != MIGRATION_STATUS_COMPLETED) { - info->ram->remaining = ram_bytes_remaining(); + info->ram->remaining_pages = ram_pages_remaining(); + info->ram->remaining = ram_pages_remaining() * + qemu_target_page_size(); info->ram->dirty_pages_rate = ram_dirty_pages_rate(); } } diff --git a/migration/ram.c b/migration/ram.c index 04b55a7..30519e1 100644 --- a/migration/ram.c +++ b/migration/ram.c @@ -265,9 +265,9 @@ uint64_t ram_bytes_transferred(void) return ram_state.bytes_transferred; } -uint64_t ram_bytes_remaining(void) +uint64_t ram_pages_remaining(void) { - return ram_state.migration_dirty_pages * TARGET_PAGE_SIZE; + return ram_state.migration_dirty_pages; } uint64_t ram_dirty_sync_count(void) diff --git a/migration/ram.h b/migration/ram.h index d4da419..5864470 100644 --- a/migration/ram.h +++ b/migration/ram.h @@ -41,7 +41,7 @@ uint64_t xbzrle_mig_pages_cache_miss(void); double xbzrle_mig_cache_miss_rate(void); uint64_t xbzrle_mig_pages_overflow(void); uint64_t ram_bytes_transferred(void); -uint64_t ram_bytes_remaining(void); +uint64_t ram_pages_remaining(void); uint64_t ram_dirty_sync_count(void); uint64_t ram_dirty_pages_rate(void); uint64_t ram_postcopy_requests(void); diff --git a/qapi-schema.json b/qapi-schema.json index 4b50b65..ff1c048 100644 --- a/qapi-schema.json +++ b/qapi-schema.json @@ -601,6 +601,9 @@ # @page-size: The number of bytes per page for the various page-based # statistics (since 2.10) # +# @remaining-pages: amount of pages remaining to be transferred to the target VM +# (since 2.10) +# # Since: 0.14.0 ## { 'struct': 'MigrationStats', @@ -608,7 +611,8 @@ 'duplicate': 'int', 'skipped': 'int', 'normal': 'int', 'normal-bytes': 'int', 'dirty-pages-rate' : 'int', 'mbps' : 'number', 'dirty-sync-count' : 'int', - 'postcopy-requests' : 'int', 'page-size' : 'int' } } + 'postcopy-requests' : 'int', 'page-size' : 'int', + 'remaining-pages' : 'int' } } ## # @XBZRLECacheStats: -- 2.9.4