static int freemem(uint32_t domid, libxl_domain_build_info *b_info)
{
- int rc, retries;
- const int MAX_RETRIES = 3;
- uint32_t need_memkb, free_memkb, free_memkb_prev = 0;
+ int rc, retries = 3;
+ uint32_t need_memkb, free_memkb;
if (!autoballoon)
return 0;
if (rc < 0)
return rc;
- retries = MAX_RETRIES;
do {
rc = libxl_get_free_memory(ctx, &free_memkb);
if (rc < 0)
if (rc < 0)
return rc;
- /*
- * If the amount of free mem has increased on this iteration (i.e.
- * some progress has been made) then reset the retry counter.
- */
- if (free_memkb > free_memkb_prev) {
- retries = MAX_RETRIES;
- free_memkb_prev = free_memkb;
- } else {
- retries--;
- }
+ retries--;
} while (retries > 0);
return ERROR_NOMEM;