qemu: split out cpuset.mems setting

Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
This commit is contained in:
Martin Kletzander 2014-07-08 09:53:06 +02:00
parent 1c19d3e072
commit aa668fccf0

View File

@ -589,13 +589,11 @@ qemuSetupDevicesCgroup(virQEMUDriverPtr driver,
static int static int
qemuSetupCpusetCgroup(virDomainObjPtr vm, qemuSetupCpusetMems(virDomainObjPtr vm,
virBitmapPtr nodemask, virBitmapPtr nodemask)
virCapsPtr caps)
{ {
qemuDomainObjPrivatePtr priv = vm->privateData; qemuDomainObjPrivatePtr priv = vm->privateData;
char *mem_mask = NULL; char *mem_mask = NULL;
char *cpu_mask = NULL;
int ret = -1; int ret = -1;
if (!virCgroupHasController(priv->cgroup, VIR_CGROUP_CONTROLLER_CPUSET)) if (!virCgroupHasController(priv->cgroup, VIR_CGROUP_CONTROLLER_CPUSET))
@ -610,6 +608,28 @@ qemuSetupCpusetCgroup(virDomainObjPtr vm,
virCgroupSetCpusetMems(priv->cgroup, mem_mask) < 0) virCgroupSetCpusetMems(priv->cgroup, mem_mask) < 0)
goto cleanup; goto cleanup;
ret = 0;
cleanup:
VIR_FREE(mem_mask);
return ret;
}
static int
qemuSetupCpusetCgroup(virDomainObjPtr vm,
virBitmapPtr nodemask,
virCapsPtr caps)
{
qemuDomainObjPrivatePtr priv = vm->privateData;
char *cpu_mask = NULL;
int ret = -1;
if (!virCgroupHasController(priv->cgroup, VIR_CGROUP_CONTROLLER_CPUSET))
return 0;
if (qemuSetupCpusetMems(vm, nodemask) < 0)
goto cleanup;
if (vm->def->cpumask || if (vm->def->cpumask ||
(vm->def->placement_mode == VIR_DOMAIN_CPU_PLACEMENT_MODE_AUTO)) { (vm->def->placement_mode == VIR_DOMAIN_CPU_PLACEMENT_MODE_AUTO)) {
@ -632,7 +652,6 @@ qemuSetupCpusetCgroup(virDomainObjPtr vm,
ret = 0; ret = 0;
cleanup: cleanup:
VIR_FREE(mem_mask);
VIR_FREE(cpu_mask); VIR_FREE(cpu_mask);
return ret; return ret;
} }