Note this set of patches is also available on the 'memcg-updates'
branch from my repo

 https://github.com/grondo/slurm

In summary, this patch set adds some enhancements that make the 
task/cgroup memory subsystem more useful on select/linear systems.
For example:

 - Mount point for cgroup pseudo-filesystems is configurable
 - Use a percent of total RAM and/or Swap when SLURM is not allocating
    memory explicitly (e.g. for select/linear) 
 - Specify Percent values in cgroup.conf as floating point (e.g. 95.5)
 - Place a lower bound on memory cgroup size to reduce chances of 
    slurmstepd killed by OOM killer

I'm sending these patches directly to the list in hopes that anyone
with comments will be able to make them before these go into any
upstream SLURM release. I'd like to get at least Matthieu's ACK
on these before they are pulled into the slurm-2.3 or master branch.

(BTW, all patches are against slurm-2.3 branch)
 
 doc/man/man5/cgroup.conf.5                      |   46 ++++++--
 etc/cgroup.release_common.example               |   29 +++--
 src/common/xcgroup.c                            |    7 +-
 src/common/xcgroup.h                            |    8 +-
 src/common/xcgroup_read_config.c                |   85 +++++++++++--
 src/common/xcgroup_read_config.h                |   16 ++-
 src/plugins/proctrack/cgroup/proctrack_cgroup.c |    2 +-
 src/plugins/task/cgroup/task_cgroup_cpuset.c    |    2 +-
 src/plugins/task/cgroup/task_cgroup_devices.c   |    2 +-
 src/plugins/task/cgroup/task_cgroup_memory.c    |  155 ++++++++++++++++-------
 src/slurmd/common/slurmstepd_init.c             |    2 +
 11 files changed, 265 insertions(+), 89 deletions(-)

 [PATCH 01/12] cgroups: Allow cgroup mount point to be configurable
 [PATCH 02/12] cgroups: Support configurable cgroup mount dir in release agent
 [PATCH 03/12] task/cgroup: Refactor task_cgroup_memory_create
 [PATCH 04/12] Propagate real_memory_size to slurmstepd at job start
 [PATCH 05/12] cgroups: Add MaxRAMPercent and MaxSwapPercent config parameters
 [PATCH 06/12] task/cgroup: Apply MaxRamPercent and MaxSwapPercent to memory cgr
 [PATCH 07/12] task/cgroup: Don't create memory cgroups with limit of 0 bytes
 [PATCH 08/12] cgroups: Allow percent values in cgroup.conf to be floating point
 [PATCH 09/12] cgroups: Add new config parameter MinRAMSpace
 [PATCH 10/12] task/cgroup: Add debug message after memory cgroup initialization
 [PATCH 11/12] task/cgroup: Expand debug message during memcg creation
 [PATCH 12/12] cgroups: Update cgroup.conf manpage

mark

Reply via email to