libxl uses some xenstore entries for hints in memory management (especially when starting new domain). This includes dom0 memory limit and Xen free memory margin, based on current system state. Entries are created at first usage, so force such usage at daemon startup, which most likely will be before any domain startup. --- src/libxl/libxl_driver.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/libxl/libxl_driver.c b/src/libxl/libxl_driver.c index 011edf8..89546a5 100644 --- a/src/libxl/libxl_driver.c +++ b/src/libxl/libxl_driver.c @@ -1115,6 +1115,7 @@ libxlStartup(bool privileged, char *log_file = NULL; virCommandPtr cmd; int status, ret = 0; + unsigned int free_mem; char ebuf[1024]; /* Disable libxl driver if non-root */ @@ -1240,6 +1241,13 @@ libxlStartup(bool privileged, goto error; } + /* This will fill xenstore info about free and dom0 memory - if missing, + * should be called before starting first domain */ + if (libxl_get_free_memory(libxl_driver->ctx, &free_mem)) { + VIR_ERROR(_("cannot get free memory info")); + goto error; + } + if (!(libxl_driver->xmlconf = virDomainXMLConfNew(&libxlDomainXMLPrivateDataCallbacks, NULL))) goto error; -- 1.8.1.4 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list