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
tree: 540335e0d6819da2a0d807f96379bd498943b140
  1. .dir-locals.el
  2. .editorconfig
  3. .gitattributes
  4. .github/
  5. .gitignore
  6. .lgtm.yml
  7. .lgtm/cpp-queries/
  8. .mailmap
  9. .mkosi/
  10. .travis.yml
  11. .vimrc
  12. .ycm_extra_conf.py
  13. LICENSE.GPL2
  14. LICENSE.LGPL2.1
  15. Makefile
  16. NEWS
  17. README
  18. README.md
  19. TODO
  20. catalog/
  21. ci/
  22. coccinelle/
  23. configure
  24. doc/
  25. factory/etc/
  26. hwdb/
  27. man/
  28. meson.build
  29. meson_options.txt
  30. mkosi.build
  31. modprobe.d/
  32. network/
  33. po/
  34. presets/
  35. rules/
  36. shell-completion/
  37. src/
  38. sysctl.d/
  39. sysusers.d/
  40. test/
  41. tmpfiles.d/
  42. tools/
  43. travis-ci/
  44. units/
  45. xorg/
  46. zanata.xml
README.md

systemd - System and Service Manager

Build Status
Coverity Scan Status
CII Best Practices
Build Status

Details

General information about systemd can be found in the systemd Wiki.

Information about build requirements are provided in the README file.

Consult our NEWS file for information about what's new in the most recent systemd versions.

Please see the HACKING file for information how to hack on systemd and test your modifications.

Please see our Contribution Guidelines for more information about filing GitHub Issues and posting GitHub Pull Requests.

When preparing patches for systemd, please follow our Coding Style Guidelines.

If you are looking for support, please contact our mailing list or join our IRC channel.

Stable branches with backported patches are available in the stable repo.