qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v2 07/10] migration: Don't play games with the r


From: Dr. David Alan Gilbert
Subject: Re: [Qemu-devel] [PATCH v2 07/10] migration: Don't play games with the requested cache size
Date: Mon, 23 Oct 2017 15:27:59 +0100
User-agent: Mutt/1.9.1 (2017-09-22)

* Juan Quintela (address@hidden) wrote:
> Now that we check that the value passed is a power of 2, we don't need
> to play games when comparing what is the size that is going to take
> the cache.
> 
> Signed-off-by: Juan Quintela <address@hidden>
> ---
>  migration/ram.c | 11 ++++++-----
>  1 file changed, 6 insertions(+), 5 deletions(-)
> 
> diff --git a/migration/ram.c b/migration/ram.c
> index 47501460c8..c84f22d759 100644
> --- a/migration/ram.c
> +++ b/migration/ram.c
> @@ -135,12 +135,14 @@ int64_t xbzrle_cache_resize(int64_t new_size, Error 
> **errp)
>          return -1;
>      }
>  
> +    if (new_size == migrate_xbzrle_cache_size()) {
> +        /* nothing to do */
> +        return new_size;
> +    }
> +

OK, that's interesting - this test is before the XBZRLE != NULL check;
so the old code would cause allocation if there was no cache;  but I
think ram_state_init makes that irrelevant, so we're OK.

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

>      XBZRLE_cache_lock();
>  
>      if (XBZRLE.cache != NULL) {
> -        if (pow2floor(new_size) == migrate_xbzrle_cache_size()) {
> -            goto out_new_size;
> -        }
>          new_cache = cache_init(new_size, TARGET_PAGE_SIZE, errp);
>          if (!new_cache) {
>              ret = -1;
> @@ -151,8 +153,7 @@ int64_t xbzrle_cache_resize(int64_t new_size, Error 
> **errp)
>          XBZRLE.cache = new_cache;
>      }
>  
> -out_new_size:
> -    ret = pow2floor(new_size);
> +    ret = new_size;
>  out:
>      XBZRLE_cache_unlock();
>      return ret;
> -- 
> 2.13.6
> 
--
Dr. David Alan Gilbert / address@hidden / Manchester, UK



reply via email to

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