From c01ef321af6a66f9bd43ee75e23a6a433fa97c10 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Thu, 15 Nov 2018 21:14:54 +0100 Subject: [PATCH] cgroup: add new helper that knows which controllers are mounted together --- src/basic/cgroup-util.h | 9 +++++++++ 1 file changed, 9 insertions(+) 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) -- 2.47.3