 
	
| [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] libxl: Wait for ballooning if free memory is increasing
 On Wed, 2015-01-21 at 22:22 -0700, Mike Latimer wrote:
Sorry for the delay.
> @@ -2228,7 +2230,13 @@ static int freemem(uint32_t domid, 
> libxl_domain_build_info *b_info)
>          if (rc < 0)
>              return rc;
>  
> -        retries--;
> +        /* only decrement retry count if free_memkb is not increasing */
This isn't quite true -- you also reset the retry count if progress has
been made.
> +        if (free_memkb <= free_memkb_prev) {
> +            retries--;
I think you need to update prev here, otherwise after one successful
iteration the condition is always true even if progress subsequently
stalls.
> +        } else {
> +            retries = MAX_RETRIES;
> +            free_memkb_prev = free_memkb;
... iow the second assignment here should be after the if/else entirely.
Given that this new loop can take significantly longer to fail I wonder
if we should add some progress logging? xl has an xtl logger instance
available so using xtl_progress might be an easy option. Maybe a
separate patch though.
Ian.
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
 
 
 | 
|  | Lists.xenproject.org is hosted with RackSpace, monitoring our |