diff --git a/NEWS b/NEWS index 3c3ab0d0d8c130b80acc10a3a1cd7160ae31d324..934ce76b54e7c34a725a36039c2dda47ec6a0db4 100644 --- a/NEWS +++ b/NEWS @@ -78,8 +78,6 @@ documents those changes that are of interest to users and administrators. -- Disable a configuration of SelectTypeParameters=CR_ONE_TASK_PER_CORE with SelectType=select/cons_tres. This will be addressed later. -- job_submit/lua - expose more fields off the partition record. - -- task/cgroup - prevent setting a memory.soft_limit_in_bytes higher than the - memory.limit_in_bytes since the hard limit will take precedence anyway. * Changes in Slurm 19.05.0pre1 ============================== diff --git a/doc/man/man5/cgroup.conf.5 b/doc/man/man5/cgroup.conf.5 index 8d00ea91e0fede19f3e8fa294b58d3ce1ff470c5..477ef181191c73a82271008edc82baa9475e088a 100644 --- a/doc/man/man5/cgroup.conf.5 +++ b/doc/man/man5/cgroup.conf.5 @@ -57,19 +57,11 @@ it will be reset to that upper or lower limit, whichever has been exceeded. .TP \fBAllowedRAMSpace\fR=<number> -Constrain the job/step cgroup RAM to this percentage of the allocated memory. -The percentage supplied may be expressed as floating point number, e.g. 101.5. -Sets the cgroup soft memory limit at the allocated memory size and then sets the -job/step hard memory limit at the (AllowedRAMSpace/100) * allocated memory. If -the job/step exceeds the hard limit, then it might trigger Out Of Memory (OOM) -events (including oom-kill) which will be logged to kernel log ringbuffer -(dmesg in Linux). Setting AllowedRAMSpace above 100 may cause system Out of -Memory (OOM) events as it allows job/step to allocate more memory than -configured to the nodes. Reducing configured node available memory to avoid -system OOM events is suggested. Setting AllowedRAMSpace below 100 will result -in jobs recieving less memory than allocated and soft memory limit will set to -the same value as the hard limit. -Also see \fBConstrainRAMSpace\fR. +Constrain the job cgroup RAM to this percentage of the allocated memory. +The percentage supplied may be expressed as floating point +number, e.g. 98.5. If the \fBAllowedRAMSpace\fR limit is exceeded, the +job steps will be killed and a warning message will be written to standard +error. Also see \fBConstrainRAMSpace\fR. The default value is 100. .TP diff --git a/src/plugins/task/cgroup/task_cgroup_memory.c b/src/plugins/task/cgroup/task_cgroup_memory.c index ba96d6dc09eb45b8240bf89fe292e2c9816bebe1..7c03b6d0e3bd85982d21f8edc91e04f5e0372dd4 100644 --- a/src/plugins/task/cgroup/task_cgroup_memory.c +++ b/src/plugins/task/cgroup/task_cgroup_memory.c @@ -367,16 +367,6 @@ static int memcg_initialize (xcgroup_ns_t *ns, xcgroup_t *cg, uint64_t mlb_soft = mem_limit_in_bytes(mem_limit, false); uint64_t mls = swap_limit_in_bytes (mem_limit); - if (mlb_soft > mlb) { - /* - * NOTE: It is recommended to set the soft limit always below - * the hard limit, otherwise the hard one will take precedence. - */ - debug2("%s: Setting memory.soft_limit_in_bytes (%"PRIu64" bytes) to the same value as memory.limit_in_bytes (%"PRIu64" bytes) for cgroup: %s", - __func__, mlb_soft, mlb, path); - mlb_soft = mlb; - } - if (xcgroup_create (ns, cg, path, uid, gid) != XCGROUP_SUCCESS) return -1;