From 809e143004d29e4ca92d19ca1393bc520a3f7178 Mon Sep 17 00:00:00 2001 From: "Nikunj A. Dadhania" Date: Tue, 12 Oct 2010 18:14:44 +0200 Subject: [PATCH] Adding memtunables to libvirt-lxc command libvirt-lxc now configures the hardlimit, softlimit and swaplimit, if specified in the domain xml file or picks up the defaults. --- src/lxc/lxc_controller.c | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/src/lxc/lxc_controller.c b/src/lxc/lxc_controller.c index 82ecce0de8..20616b8673 100644 --- a/src/lxc/lxc_controller.c +++ b/src/lxc/lxc_controller.c @@ -110,6 +110,36 @@ static int lxcSetContainerResources(virDomainDefPtr def) goto cleanup; } + if(def->mem.hard_limit) { + rc = virCgroupSetMemoryHardLimit(cgroup, def->mem.hard_limit); + if (rc != 0) { + virReportSystemError(-rc, + _("Unable to set memory hard limit for domain %s"), + def->name); + goto cleanup; + } + } + + if(def->mem.soft_limit) { + rc = virCgroupSetMemorySoftLimit(cgroup, def->mem.soft_limit); + if (rc != 0) { + virReportSystemError(-rc, + _("Unable to set memory soft limit for domain %s"), + def->name); + goto cleanup; + } + } + + if(def->mem.swap_hard_limit) { + rc = virCgroupSetSwapHardLimit(cgroup, def->mem.swap_hard_limit); + if (rc != 0) { + virReportSystemError(-rc, + _("Unable to set swap hard limit for domain %s"), + def->name); + goto cleanup; + } + } + rc = virCgroupDenyAllDevices(cgroup); if (rc != 0) { virReportSystemError(-rc,