return 0;
}
+
+
+int
+virDomainCgroupSetupMemtune(virCgroupPtr cgroup, virDomainMemtune mem)
+{
+ if (virMemoryLimitIsSet(mem.hard_limit))
+ if (virCgroupSetMemoryHardLimit(cgroup, mem.hard_limit) < 0)
+ return -1;
+
+ if (virMemoryLimitIsSet(mem.soft_limit))
+ if (virCgroupSetMemorySoftLimit(cgroup, mem.soft_limit) < 0)
+ return -1;
+
+ if (virMemoryLimitIsSet(mem.swap_hard_limit))
+ if (virCgroupSetMemSwapHardLimit(cgroup, mem.swap_hard_limit) < 0)
+ return -1;
+
+ return 0;
+}
int virDomainCgroupSetupBlkio(virCgroupPtr cgroup, virDomainBlkiotune blkio);
+int virDomainCgroupSetupMemtune(virCgroupPtr cgroup, virDomainMemtune mem);
# hypervisor/domain_cgroup.h
virDomainCgroupSetupBlkio;
+virDomainCgroupSetupMemtune;
# libvirt_internal.h
if (virCgroupSetMemory(cgroup, virDomainDefGetMemoryInitial(def)) < 0)
return -1;
- if (virMemoryLimitIsSet(def->mem.hard_limit))
- if (virCgroupSetMemoryHardLimit(cgroup, def->mem.hard_limit) < 0)
- return -1;
-
- if (virMemoryLimitIsSet(def->mem.soft_limit))
- if (virCgroupSetMemorySoftLimit(cgroup, def->mem.soft_limit) < 0)
- return -1;
-
- if (virMemoryLimitIsSet(def->mem.swap_hard_limit))
- if (virCgroupSetMemSwapHardLimit(cgroup, def->mem.swap_hard_limit) < 0)
- return -1;
-
- return 0;
+ return virDomainCgroupSetupMemtune(cgroup, def->mem);
}
}
}
- if (virMemoryLimitIsSet(vm->def->mem.hard_limit))
- if (virCgroupSetMemoryHardLimit(priv->cgroup, vm->def->mem.hard_limit) < 0)
- return -1;
-
- if (virMemoryLimitIsSet(vm->def->mem.soft_limit))
- if (virCgroupSetMemorySoftLimit(priv->cgroup, vm->def->mem.soft_limit) < 0)
- return -1;
-
- if (virMemoryLimitIsSet(vm->def->mem.swap_hard_limit))
- if (virCgroupSetMemSwapHardLimit(priv->cgroup, vm->def->mem.swap_hard_limit) < 0)
- return -1;
-
- return 0;
+ return virDomainCgroupSetupMemtune(priv->cgroup, vm->def->mem);
}