LXC driver doesn't support vcpu affinity yet, so just need to modify it to support cpu shares. * src/lxc/lxc_controller.c (Setup cpu shares for domain) * src/lxc/lxc_driver.c (Update domain config when "lxcSetSchedulerParameters" is invoked) --- src/lxc/lxc_controller.c | 10 ++++++++++ src/lxc/lxc_driver.c | 2 ++ 2 files changed, 12 insertions(+), 0 deletions(-) diff --git a/src/lxc/lxc_controller.c b/src/lxc/lxc_controller.c index d2b113c..1837beb 100644 --- a/src/lxc/lxc_controller.c +++ b/src/lxc/lxc_controller.c @@ -115,6 +115,16 @@ static int lxcSetContainerResources(virDomainDefPtr def) } } + if (def->cputune.shares) { + rc = virCgroupSetCpuShares(cgroup, def->cputune.shares); + if (rc != 0) { + virReportSystemError(-rc, + _("Unable to set cpu shares for domain %s"), + def->name); + goto cleanup; + } + } + rc = virCgroupSetMemory(cgroup, def->mem.max_balloon); if (rc != 0) { virReportSystemError(-rc, diff --git a/src/lxc/lxc_driver.c b/src/lxc/lxc_driver.c index 70e74d5..77f5f82 100644 --- a/src/lxc/lxc_driver.c +++ b/src/lxc/lxc_driver.c @@ -2321,6 +2321,8 @@ static int lxcSetSchedulerParameters(virDomainPtr domain, params[i].value.ul); goto cleanup; } + + vm->def->cputune.shares = params[i].value.ul; } ret = 0; -- 1.7.4 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list