chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
cgroup: get rid of MemorySoftLimit=
[elogind.git]
/
src
/
core
/
cgroup.c
diff --git
a/src/core/cgroup.c
b/src/core/cgroup.c
index aee93ba0a8b214ef750359a660a5cbe6ecfd706b..d10f205a2ff431f807aa756fba53047c982fa11d 100644
(file)
--- a/
src/core/cgroup.c
+++ b/
src/core/cgroup.c
@@
-33,7
+33,7
@@
void cgroup_context_init(CGroupContext *c) {
* structure is preinitialized to 0 */
c->cpu_shares = 1024;
* structure is preinitialized to 0 */
c->cpu_shares = 1024;
- c->memory_limit =
c->memory_soft_limit =
(uint64_t) -1;
+ c->memory_limit = (uint64_t) -1;
c->blockio_weight = 1000;
}
c->blockio_weight = 1000;
}
@@
-92,9
+92,8
@@
void cgroup_context_dump(CGroupContext *c, FILE* f, const char *prefix) {
"%sBlockIOAccounting=%s\n"
"%sMemoryAccounting=%s\n"
"%sCPUShares=%lu\n"
"%sBlockIOAccounting=%s\n"
"%sMemoryAccounting=%s\n"
"%sCPUShares=%lu\n"
- "%sBlockIOWeight%lu\n"
+ "%sBlockIOWeight
=
%lu\n"
"%sMemoryLimit=%" PRIu64 "\n"
"%sMemoryLimit=%" PRIu64 "\n"
- "%sMemorySoftLimit=%" PRIu64 "\n"
"%sDevicePolicy=%s\n",
prefix, yes_no(c->cpu_accounting),
prefix, yes_no(c->blockio_accounting),
"%sDevicePolicy=%s\n",
prefix, yes_no(c->cpu_accounting),
prefix, yes_no(c->blockio_accounting),
@@
-102,7
+101,6
@@
void cgroup_context_dump(CGroupContext *c, FILE* f, const char *prefix) {
prefix, c->cpu_shares,
prefix, c->blockio_weight,
prefix, c->memory_limit,
prefix, c->cpu_shares,
prefix, c->blockio_weight,
prefix, c->memory_limit,
- prefix, c->memory_soft_limit,
prefix, cgroup_device_policy_to_string(c->device_policy));
LIST_FOREACH(device_allow, a, c->device_allow)
prefix, cgroup_device_policy_to_string(c->device_policy));
LIST_FOREACH(device_allow, a, c->device_allow)
@@
-257,16
+255,14
@@
void cgroup_context_apply(CGroupContext *c, CGroupControllerMask mask, const cha
if (mask & CGROUP_MEMORY) {
char buf[DECIMAL_STR_MAX(uint64_t) + 1];
if (mask & CGROUP_MEMORY) {
char buf[DECIMAL_STR_MAX(uint64_t) + 1];
+ if (c->memory_limit != (uint64_t) -1) {
+ sprintf(buf, "%" PRIu64 "\n", c->memory_limit);
+ r = cg_set_attribute("memory", path, "memory.limit_in_bytes", buf);
+ } else
+ r = cg_set_attribute("memory", path, "memory.limit_in_bytes", "-1");
- sprintf(buf, "%" PRIu64 "\n", c->memory_limit);
- r = cg_set_attribute("memory", path, "memory.limit_in_bytes", buf);
if (r < 0)
log_error("Failed to set memory.limit_in_bytes on %s: %s", path, strerror(-r));
if (r < 0)
log_error("Failed to set memory.limit_in_bytes on %s: %s", path, strerror(-r));
-
- sprintf(buf, "%" PRIu64 "\n", c->memory_soft_limit);
- r = cg_set_attribute("memory", path, "memory.soft_limit_in_bytes", buf);
- if (r < 0)
- log_error("Failed to set memory.soft_limit_in_bytes on %s: %s", path, strerror(-r));
}
if (mask & CGROUP_DEVICE) {
}
if (mask & CGROUP_DEVICE) {
@@
-329,8
+325,7
@@
CGroupControllerMask cgroup_context_get_mask(CGroupContext *c) {
mask |= CGROUP_BLKIO;
if (c->memory_accounting ||
mask |= CGROUP_BLKIO;
if (c->memory_accounting ||
- c->memory_limit != (uint64_t) -1 ||
- c->memory_soft_limit != (uint64_t) -1)
+ c->memory_limit != (uint64_t) -1)
mask |= CGROUP_MEMORY;
if (c->device_allow || c->device_policy != CGROUP_AUTO)
mask |= CGROUP_MEMORY;
if (c->device_allow || c->device_policy != CGROUP_AUTO)
@@
-395,8
+390,8
@@
static int unit_create_cgroups(Unit *u, CGroupControllerMask mask) {
is_in_hash = true;
if (r < 0) {
is_in_hash = true;
if (r < 0) {
- free(path);
log_error("cgroup %s exists already: %s", path, strerror(-r));
log_error("cgroup %s exists already: %s", path, strerror(-r));
+ free(path);
return r;
}
return r;
}