cgroup: introduce support for cgroup v2 CPUSET controller v239-27
authorPavel Hrdina <phrdina@redhat.com>
Mon, 29 Jul 2019 15:50:05 +0000 (17:50 +0200)
committerThe Plumber <50238977+systemd-rhel-bot@users.noreply.github.com>
Fri, 21 Feb 2020 10:21:40 +0000 (11:21 +0100)
commitb55c9b8e717d1967e6aa16c1e2646fc81d899ab7
tree540335e0d6819da2a0d807f96379bd498943b140
parent11f5677752f9b78239214b3064e5a2c3712d71b1
cgroup: introduce support for cgroup v2 CPUSET controller

Introduce support for configuring cpus and mems for processes using
cgroup v2 CPUSET controller.  This allows users to limit which cpus
and memory NUMA nodes can be used by processes to better utilize
system resources.

The cgroup v2 interfaces to control it are cpuset.cpus and cpuset.mems
where the requested configuration is written.  However, it doesn't mean
that the requested configuration will be actually used as parent cgroup
may limit the cpus or mems as well.  In order to reflect the real
configuration cgroup v2 provides read-only files cpuset.cpus.effective
and cpuset.mems.effective which are exported to users as well.

(cherry picked from commit 047f5d63d7a1ab75073f8485e2f9b550d25b0772)

Related: #1724617
14 files changed:
doc/TRANSIENT-SETTINGS.md
man/systemd.resource-control.xml
src/basic/cgroup-util.c
src/basic/cgroup-util.h
src/core/cgroup.c
src/core/cgroup.h
src/core/dbus-cgroup.c
src/core/dbus-unit.c
src/core/load-fragment-gperf.gperf.m4
src/core/load-fragment.c
src/core/load-fragment.h
src/shared/bus-unit-util.c
src/systemctl/systemctl.c
src/test/test-cgroup-mask.c