[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

> +        } 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.


Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.