From: Lennart Poettering Date: Thu, 15 Nov 2018 20:14:54 +0000 (+0100) Subject: cgroup: add new helper that knows which controllers are mounted together X-Git-Tag: v240~303^2~3 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=c01ef321af6a66f9bd43ee75e23a6a433fa97c10;p=thirdparty%2Fsystemd.git cgroup: add new helper that knows which controllers are mounted together --- diff --git a/src/basic/cgroup-util.h b/src/basic/cgroup-util.h index 9b410f1f58d..463a8dc84ad 100644 --- a/src/basic/cgroup-util.h +++ b/src/basic/cgroup-util.h @@ -60,6 +60,15 @@ typedef enum CGroupMask { _CGROUP_MASK_ALL = CGROUP_CONTROLLER_TO_MASK(_CGROUP_CONTROLLER_MAX) - 1 } CGroupMask; +static inline CGroupMask CGROUP_MASK_EXTEND_JOINED(CGroupMask mask) { + /* We always mount "cpu" and "cpuacct" in the same hierarchy. Hence, when one bit is set also set the other */ + + if (mask & (CGROUP_MASK_CPU|CGROUP_MASK_CPUACCT)) + mask |= (CGROUP_MASK_CPU|CGROUP_MASK_CPUACCT); + + return mask; +} + /* Special values for all weight knobs on unified hierarchy */ #define CGROUP_WEIGHT_INVALID ((uint64_t) -1) #define CGROUP_WEIGHT_MIN UINT64_C(1)