From 2391ddff772ce541bc2237c89a2792a0b85e076c Mon Sep 17 00:00:00 2001 From: William Hubbs Date: Tue, 25 Jun 2013 10:50:13 -0500 Subject: cgroups: add support for systemd cgroup hierarchy The systemd cgroup hierarchy support is being added so we can run logind outside of systemd. This is needed because software that was using consolekit is now migrating to logind. We do not create this hierarchy, we just add services to it if it exists. --- sh/rc-cgroup.sh.in | 10 ++++++---- sh/runscript.sh.in | 4 ++++ 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/sh/rc-cgroup.sh.in b/sh/rc-cgroup.sh.in index d96aa164..afcbb031 100644 --- a/sh/rc-cgroup.sh.in +++ b/sh/rc-cgroup.sh.in @@ -70,15 +70,17 @@ cgroup_set_values() return 0 } -cgroup_set_limits() +cgroup_add_service() { - openrc_cgroup=/sys/fs/cgroup/openrc - if [ -d "$openrc_cgroup" ]; then - cgroup="$openrc_cgroup/$RC_SVCNAME" + if [ -d "$1" ]; then + cgroup="$1/$RC_SVCNAME" mkdir -p "$cgroup" [ -f "$cgroup/tasks" ] && echo 0 > "$cgroup/tasks" fi +} +cgroup_set_limits() +{ local blkio="${rc_cgroup_blkio:-$RC_CGROUP_BLKIO}" [ -n "$blkio" ] && cgroup_set_values blkio "$blkio" diff --git a/sh/runscript.sh.in b/sh/runscript.sh.in index 58e8eacf..a1ed9c68 100644 --- a/sh/runscript.sh.in +++ b/sh/runscript.sh.in @@ -209,6 +209,10 @@ sourcex -e "@SYSCONFDIR@/rc.conf" [ -n "${rc_ulimit:-$RC_ULIMIT}" ] && ulimit ${rc_ulimit:-$RC_ULIMIT} # Apply cgroups settings if defined +if [ "$(command -v cgroup_add_service)" = "cgroup_add_service" ]; then + cgroup_add_service /sys/fs/cgroup/openrc + cgroup_add_service /sys/fs/cgroup/systemd/system +fi [ "$(command -v cgroup_set_limits)" = "cgroup_set_limits" ] && \ cgroup_set_limits -- cgit v1.2.3