mirror of https://github.com/xemu-project/xemu.git
ram: Move xbzrle_overflows into RAMState
Once there, remove the now unused AccountingInfo struct and var. Signed-off-by: Juan Quintela <quintela@redhat.com> Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com> Reviewed-by: Peter Xu <peterx@redhat.com>
This commit is contained in:
parent
b07016b674
commit
180f61f75a
|
@ -181,23 +181,13 @@ struct RAMState {
|
||||||
uint64_t xbzrle_cache_miss;
|
uint64_t xbzrle_cache_miss;
|
||||||
/* xbzrle miss rate */
|
/* xbzrle miss rate */
|
||||||
double xbzrle_cache_miss_rate;
|
double xbzrle_cache_miss_rate;
|
||||||
|
/* xbzrle number of overflows */
|
||||||
|
uint64_t xbzrle_overflows;
|
||||||
};
|
};
|
||||||
typedef struct RAMState RAMState;
|
typedef struct RAMState RAMState;
|
||||||
|
|
||||||
static RAMState ram_state;
|
static RAMState ram_state;
|
||||||
|
|
||||||
/* accounting for migration statistics */
|
|
||||||
typedef struct AccountingInfo {
|
|
||||||
uint64_t xbzrle_overflows;
|
|
||||||
} AccountingInfo;
|
|
||||||
|
|
||||||
static AccountingInfo acct_info;
|
|
||||||
|
|
||||||
static void acct_clear(void)
|
|
||||||
{
|
|
||||||
memset(&acct_info, 0, sizeof(acct_info));
|
|
||||||
}
|
|
||||||
|
|
||||||
uint64_t dup_mig_pages_transferred(void)
|
uint64_t dup_mig_pages_transferred(void)
|
||||||
{
|
{
|
||||||
return ram_state.zero_pages;
|
return ram_state.zero_pages;
|
||||||
|
@ -230,7 +220,7 @@ double xbzrle_mig_cache_miss_rate(void)
|
||||||
|
|
||||||
uint64_t xbzrle_mig_pages_overflow(void)
|
uint64_t xbzrle_mig_pages_overflow(void)
|
||||||
{
|
{
|
||||||
return acct_info.xbzrle_overflows;
|
return ram_state.xbzrle_overflows;
|
||||||
}
|
}
|
||||||
|
|
||||||
static QemuMutex migration_bitmap_mutex;
|
static QemuMutex migration_bitmap_mutex;
|
||||||
|
@ -528,7 +518,7 @@ static int save_xbzrle_page(RAMState *rs, QEMUFile *f, uint8_t **current_data,
|
||||||
return 0;
|
return 0;
|
||||||
} else if (encoded_len == -1) {
|
} else if (encoded_len == -1) {
|
||||||
trace_save_xbzrle_page_overflow();
|
trace_save_xbzrle_page_overflow();
|
||||||
acct_info.xbzrle_overflows++;
|
rs->xbzrle_overflows++;
|
||||||
/* update data in the cache */
|
/* update data in the cache */
|
||||||
if (!last_stage) {
|
if (!last_stage) {
|
||||||
memcpy(prev_cached_page, *current_data, TARGET_PAGE_SIZE);
|
memcpy(prev_cached_page, *current_data, TARGET_PAGE_SIZE);
|
||||||
|
@ -2005,6 +1995,7 @@ static int ram_save_init_globals(RAMState *rs)
|
||||||
rs->xbzrle_pages = 0;
|
rs->xbzrle_pages = 0;
|
||||||
rs->xbzrle_cache_miss = 0;
|
rs->xbzrle_cache_miss = 0;
|
||||||
rs->xbzrle_cache_miss_rate = 0;
|
rs->xbzrle_cache_miss_rate = 0;
|
||||||
|
rs->xbzrle_overflows = 0;
|
||||||
migration_bitmap_sync_init(rs);
|
migration_bitmap_sync_init(rs);
|
||||||
qemu_mutex_init(&migration_bitmap_mutex);
|
qemu_mutex_init(&migration_bitmap_mutex);
|
||||||
|
|
||||||
|
@ -2035,8 +2026,6 @@ static int ram_save_init_globals(RAMState *rs)
|
||||||
XBZRLE.encoded_buf = NULL;
|
XBZRLE.encoded_buf = NULL;
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
acct_clear();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* For memory_global_dirty_log_start below. */
|
/* For memory_global_dirty_log_start below. */
|
||||||
|
|
Loading…
Reference in New Issue