diff mbox

honour maxmem from config

Message ID 20170815043652.GA36547@dingwall.me.uk (mailing list archive)
State New, archived
Headers show

Commit Message

James Dingwall Aug. 15, 2017, 4:36 a.m. UTC
Hi,

From xl.cfg(5):

maxmem=MBYTES
           Specifies the maximum amount of memory a guest can ever see.  The value of maxmem= must be equal or greater than memory=.

           In combination with memory= it will start the guest "pre-ballooned", if the values of memory= and maxmem= differ.

At present when creating (pv) domains with a configuration such as:

memory = 512
maxmem = 1024

The maximum memory of the guest will not go above 512 (this also shows in the maxmem column in xl top).  I expect that the vm will start with 512 and then be 
able to increase up to 1024 if there is memory available for xen to allocate and the guest is under memory pressure.  I have been carrying variations of this 
patch originally written by Wei Liu through 4.[345] and having just jumped to 4.8 noted it is still a problem so thought I would raise this again.  With this 
applied everything is stable and working as expected - Xen 4.8.1 + Linux 4.1.43 (dom0 and guest) with tmem enabled in Xen, dom0 and guest.

https://lists.xenproject.org/archives/html/xen-devel/2013-10/msg02228.html

Thanks,
James
diff mbox

Patch

diff --git a/tools/libxl/libxl_dom.c b/tools/libxl/libxl_dom.c
index d519c8d440..0b6d81e53a 100644
--- a/tools/libxl/libxl_dom.c
+++ b/tools/libxl/libxl_dom.c
@@ -416,7 +416,7 @@  int libxl__build_pre(libxl__gc *gc, uint32_t domid,
         return ERROR_FAIL;
     }
 
-    if (xc_domain_setmaxmem(ctx->xch, domid, info->target_memkb + size) < 0) {
+    if (xc_domain_setmaxmem(ctx->xch, domid, info->max_memkb + size) < 0) {
         LOGE(ERROR, "Couldn't set max memory");
         return ERROR_FAIL;
     }