qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 19/51] ram: Move xbzrle_cache_miss into RAMState


From: Dr. David Alan Gilbert
Subject: Re: [Qemu-devel] [PATCH 19/51] ram: Move xbzrle_cache_miss into RAMState
Date: Fri, 24 Mar 2017 10:15:37 +0000
User-agent: Mutt/1.8.0 (2017-02-23)

* Juan Quintela (address@hidden) wrote:
> Signed-off-by: Juan Quintela <address@hidden>

Reviewed-by: Dr. David Alan Gilbert <address@hidden>

> ---
>  migration/ram.c | 12 +++++++-----
>  1 file changed, 7 insertions(+), 5 deletions(-)
> 
> diff --git a/migration/ram.c b/migration/ram.c
> index b4e647a..cc19406 100644
> --- a/migration/ram.c
> +++ b/migration/ram.c
> @@ -176,6 +176,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;
>  
> @@ -183,7 +185,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;
> @@ -217,7 +218,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)
> @@ -497,7 +498,7 @@ static int save_xbzrle_page(RAMState *rs, QEMUFile *f, 
> 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) {
> @@ -698,12 +699,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);
> @@ -1999,6 +2000,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
> 
--
Dr. David Alan Gilbert / address@hidden / Manchester, UK



reply via email to

[Prev in Thread] Current Thread [Next in Thread]