commit: 80d3928b0d13f09a9c1e82bd27c9fff943d84d43 Author: Austin S. Hemmelgarn <ahferroin7 <AT> gmail <DOT> com> AuthorDate: Tue Oct 6 20:02:28 2015 +0000 Commit: William Hubbs <williamh <AT> gentoo <DOT> org> CommitDate: Tue Oct 6 20:05:35 2015 +0000 URL: https://gitweb.gentoo.org/proj/openrc.git/commit/?id=80d3928b
cgroups: Add the hugetlb, net_cls and pids controllers Note from WilliamH: I slightly rearranged the code and added the settings in rc.conf. X-Gentoo-Bug: 555488 X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=555488 etc/rc.conf.Linux | 9 +++++++++ sh/rc-cgroup.sh.in | 9 +++++++++ 2 files changed, 18 insertions(+) diff --git a/etc/rc.conf.Linux b/etc/rc.conf.Linux index a8ad58b..f04f96e 100644 --- a/etc/rc.conf.Linux +++ b/etc/rc.conf.Linux @@ -62,12 +62,21 @@ rc_tty_number=12 # Set the devices controller settings for this service. #rc_cgroup_devices="" +# Set the hugetlb controller settings for this service. +#rc_cgroup_hugetlb="" + # Set the memory controller settings for this service. #rc_cgroup_memory="" +# Set the net_cls controller settings for this service. +#rc_cgroup_net_cls="" + # Set the net_prio controller settings for this service. #rc_cgroup_net_prio="" +# Set the pids controller settings for this service. +#rc_cgroup_pids="" + # Set this to YES if yu want all of the processes in a service's cgroup # killed when the service is stopped or restarted. # This should not be set globally because it kills all of the service's diff --git a/sh/rc-cgroup.sh.in b/sh/rc-cgroup.sh.in index 3f34d17..b49c711 100644 --- a/sh/rc-cgroup.sh.in +++ b/sh/rc-cgroup.sh.in @@ -109,12 +109,21 @@ cgroup_set_limits() local devices="${rc_cgroup_devices:-$RC_CGROUP_DEVICES}" [ -n "$devices" ] && cgroup_set_values devices "$devices" + local hugetlb="${rc_cgroup_hugetlb:-$RC_CGROUP_HUGETLB}" + [ -n "$hugetlb" ] && cgroup_set_values hugetlb "$hugetlb" + local memory="${rc_cgroup_memory:-$RC_CGROUP_MEMORY}" [ -n "$memory" ] && cgroup_set_values memory "$memory" + local net_cls="${rc_cgroup_net_cls:-$RC_CGROUP_NET_CLS}" + [ -n "$net_cls" ] && cgroup_set_values net_cls "$net_cls" + local net_prio="${rc_cgroup_net_prio:-$RC_CGROUP_NET_PRIO}" [ -n "$net_prio" ] && cgroup_set_values net_prio "$net_prio" + local pids="${rc_cgroup_pids:-$RC_CGROUP_PIDS}" + [ -n "$pids" ] && cgroup_set_values pids "$pids" + return 0 }