From 80d3928b0d13f09a9c1e82bd27c9fff943d84d43 Mon Sep 17 00:00:00 2001 From: "Austin S. Hemmelgarn" Date: Tue, 6 Oct 2015 15:02:28 -0500 Subject: [PATCH] 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 a8ad58b1..f04f96ef 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 3f34d179..b49c7115 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 }