Signed-off-by: Juan Quintela <quint...@redhat.com> --- migration/ram.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/migration/ram.c b/migration/ram.c index ce703e5..8470db0 100644 --- a/migration/ram.c +++ b/migration/ram.c @@ -170,6 +170,8 @@ struct RAMState { uint64_t xbzrle_bytes; /* xbzrle transmmited pages */ uint64_t xbzrle_pages; + /* xbzrle number of cache miss */ + uint64_t xbzrle_cache_miss; }; typedef struct RAMState RAMState; @@ -177,7 +179,6 @@ static RAMState ram_state; /* accounting for migration statistics */ typedef struct AccountingInfo { - uint64_t xbzrle_cache_miss; double xbzrle_cache_miss_rate; uint64_t xbzrle_overflows; } AccountingInfo; @@ -211,7 +212,7 @@ uint64_t xbzrle_mig_pages_transferred(void) uint64_t xbzrle_mig_pages_cache_miss(void) { - return acct_info.xbzrle_cache_miss; + return ram_state.xbzrle_cache_miss; } double xbzrle_mig_cache_miss_rate(void) @@ -480,7 +481,7 @@ static int save_xbzrle_page(QEMUFile *f, RAMState *rs, uint8_t **current_data, uint8_t *prev_cached_page; if (!cache_is_cached(XBZRLE.cache, current_addr, rs->bitmap_sync_count)) { - acct_info.xbzrle_cache_miss++; + rs->xbzrle_cache_miss++; if (!last_stage) { if (cache_insert(XBZRLE.cache, current_addr, *current_data, rs->bitmap_sync_count) == -1) { @@ -673,12 +674,12 @@ static void migration_bitmap_sync(RAMState *rs) if (migrate_use_xbzrle()) { if (rs->iterations_prev != rs->iterations) { acct_info.xbzrle_cache_miss_rate = - (double)(acct_info.xbzrle_cache_miss - + (double)(rs->xbzrle_cache_miss - rs->xbzrle_cache_miss_prev) / (rs->iterations - rs->iterations_prev); } rs->iterations_prev = rs->iterations; - rs->xbzrle_cache_miss_prev = acct_info.xbzrle_cache_miss; + rs->xbzrle_cache_miss_prev = rs->xbzrle_cache_miss; } s->dirty_pages_rate = rs->num_dirty_pages_period * 1000 / (end_time - rs->start_time); @@ -1932,6 +1933,7 @@ static int ram_save_init_globals(RAMState *rs) rs->iterations = 0; rs->xbzrle_bytes = 0; rs->xbzrle_pages = 0; + rs->xbzrle_cache_miss = 0; migration_bitmap_sync_init(rs); qemu_mutex_init(&migration_bitmap_mutex); -- 2.9.3