提交 b5833fde 编写于 作者: J Juan Quintela

ram: Move xbzrle_cache_miss_prev into RAMState

Signed-off-by: NJuan Quintela <quintela@redhat.com>
Reviewed-by: NDr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: NPhilippe Mathieu-Daudé <f4bug@amsat.org>
上级 68908ed6
...@@ -161,6 +161,8 @@ struct RAMState { ...@@ -161,6 +161,8 @@ struct RAMState {
uint64_t bytes_xfer_prev; uint64_t bytes_xfer_prev;
/* number of dirty pages since start_time */ /* number of dirty pages since start_time */
uint64_t num_dirty_pages_period; uint64_t num_dirty_pages_period;
/* xbzrle misses since the beginning of the period */
uint64_t xbzrle_cache_miss_prev;
}; };
typedef struct RAMState RAMState; typedef struct RAMState RAMState;
...@@ -624,7 +626,6 @@ static void migration_bitmap_sync_range(RAMState *rs, ram_addr_t start, ...@@ -624,7 +626,6 @@ static void migration_bitmap_sync_range(RAMState *rs, ram_addr_t start,
} }
/* Fix me: there are too many global variables used in migration process. */ /* Fix me: there are too many global variables used in migration process. */
static uint64_t xbzrle_cache_miss_prev;
static uint64_t iterations_prev; static uint64_t iterations_prev;
static void migration_bitmap_sync_init(RAMState *rs) static void migration_bitmap_sync_init(RAMState *rs)
...@@ -632,7 +633,7 @@ static void migration_bitmap_sync_init(RAMState *rs) ...@@ -632,7 +633,7 @@ static void migration_bitmap_sync_init(RAMState *rs)
rs->time_last_bitmap_sync = 0; rs->time_last_bitmap_sync = 0;
rs->bytes_xfer_prev = 0; rs->bytes_xfer_prev = 0;
rs->num_dirty_pages_period = 0; rs->num_dirty_pages_period = 0;
xbzrle_cache_miss_prev = 0; rs->xbzrle_cache_miss_prev = 0;
iterations_prev = 0; iterations_prev = 0;
} }
...@@ -714,11 +715,11 @@ static void migration_bitmap_sync(RAMState *rs) ...@@ -714,11 +715,11 @@ static void migration_bitmap_sync(RAMState *rs)
if (iterations_prev != acct_info.iterations) { if (iterations_prev != acct_info.iterations) {
acct_info.xbzrle_cache_miss_rate = acct_info.xbzrle_cache_miss_rate =
(double)(acct_info.xbzrle_cache_miss - (double)(acct_info.xbzrle_cache_miss -
xbzrle_cache_miss_prev) / rs->xbzrle_cache_miss_prev) /
(acct_info.iterations - iterations_prev); (acct_info.iterations - iterations_prev);
} }
iterations_prev = acct_info.iterations; iterations_prev = acct_info.iterations;
xbzrle_cache_miss_prev = acct_info.xbzrle_cache_miss; rs->xbzrle_cache_miss_prev = acct_info.xbzrle_cache_miss;
} }
s->dirty_pages_rate = rs->num_dirty_pages_period * 1000 s->dirty_pages_rate = rs->num_dirty_pages_period * 1000
/ (end_time - rs->time_last_bitmap_sync); / (end_time - rs->time_last_bitmap_sync);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册