Go to file
Anita Zhang 59331b8e29 oom: implement avoid/omit xattr support
There may be situations where a cgroup should be protected from killing
or deprioritized as a candidate. In FB oomd xattrs are used to bias oomd
away from supervisor cgroups and towards worker cgroups in container
tasks. On desktops this can be used to protect important units with
unpredictable resource consumption.

The patch allows systemd-oomd to understand 2 xattrs:
"user.oomd_avoid" and "user.oomd_omit". If systemd-oomd sees these
xattrs set to 1 on a candidate cgroup (i.e. while attempting to kill something)
AND the cgroup is owned by root, it will either deprioritize the cgroup as
a candidate (avoid) or remove it completely as a candidate (omit).

Usage is restricted to root owned cgroups to prevent situations where an
unprivileged user can set their own cgroups lower in the kill priority than
another user's (and prevent them from omitting their units from
systemd-oomd killing).
2021-02-09 02:27:40 -08:00
.github github: ask for systemd version in RFE form 2021-02-05 23:42:47 +00:00
.lgtm/cpp-queries lgtm: complain about accept() [people should use accept4() instead, due to O_CLOEXEC] 2019-04-10 20:03:38 +02:00
.mkosi Move shared mkosi settings to a single file in mkosi.default.d/ 2021-01-06 12:10:58 +00:00
.semaphore ci: migrate to Semaphore CI 2.0 2021-01-15 20:18:29 +01:00
catalog license: LGPL-2.1+ -> LGPL-2.1-or-later 2020-11-09 13:23:58 +09:00
coccinelle coccinelle: ignore specific cases to use SYNTHETIC_ERRNO() macro 2020-11-27 14:35:20 +09:00
docs Merge pull request #18444 from anitazha/proprename 2021-02-04 12:53:10 +01:00
factory/etc man: move 'files' module in NSS 'hosts:' line before myhostname 2020-08-17 18:55:59 +02:00
hwdb.d hwdb: add axis overrides for the Dell Latitude E5510 TouchPad (#18493) 2021-02-09 09:30:49 +10:00
man Merge pull request #18375 from yuwata/cli-tools-also-read-kernel-command-line 2021-02-08 11:45:42 +01:00
mkosi.default.d mkosi: Enable InstallDirectory and SourceFileTransferFinal options 2021-01-06 23:28:34 +00:00
modprobe.d license: LGPL-2.1+ -> LGPL-2.1-or-later 2020-11-09 13:23:58 +09:00
network networkd: Enable IPv6SendRA on builtin network files 2021-01-06 20:00:49 +01:00
po Translations update from Weblate (#18485) 2021-02-05 23:54:58 +00:00
presets license: LGPL-2.1+ -> LGPL-2.1-or-later 2020-11-09 13:23:58 +09:00
rules.d udev: allow kvm group to access vhost-net device 2021-01-13 13:12:26 +04:00
shell-completion systemctl: add new option to mount image inside a running service namespace 2021-01-21 19:08:40 +00:00
src oom: implement avoid/omit xattr support 2021-02-09 02:27:40 -08:00
sysctl.d sysctl.d: shorten comment 2021-01-15 10:33:29 +01:00
sysusers.d license: LGPL-2.1+ -> LGPL-2.1-or-later 2020-11-09 13:23:58 +09:00
test oom: implement avoid/omit xattr support 2021-02-09 02:27:40 -08:00
tmpfiles.d udev: allow kvm group to access vhost-net device 2021-01-13 13:12:26 +04:00
tools update-dbus-docs: use color in summary 2021-02-06 11:41:42 +01:00
units tree-wide: add spdx header on all scripts and helpers 2021-01-28 09:55:35 +01:00
xorg scripts: use 4 space indentation 2019-04-12 08:30:31 +02:00
.clang-format clang-format: set SpaceBeforeParens to ControlStatementsExceptForEachMacros 2020-11-16 16:57:51 +09:00
.ctags editors: Prevent ctags from following symlinks 2019-02-15 11:01:20 -08:00
.dir-locals.el scripts: use 4 space indentation 2019-04-12 08:30:31 +02:00
.editorconfig editorconfig: add man configuration 2020-05-26 15:37:05 +02:00
.gitattributes udev: Extract RAM properties from DMI information 2020-12-16 18:32:29 +01:00
.gitignore Move shared mkosi settings to a single file in mkosi.default.d/ 2021-01-06 12:10:58 +00:00
.lgtm.yml lgtm: drop the TMPDIR/meson workaround 2020-03-03 20:27:42 +01:00
.mailmap NEWS: update contributors list for v246-pre 2020-07-23 17:30:54 +02:00
.packit.yml ci: build with -Werror on Fedora 2021-02-02 23:17:15 +00:00
.vimrc scripts: use 4 space indentation 2019-04-12 08:30:31 +02:00
.ycm_extra_conf.py ycm: add doc string for all the functions in configuration file 2017-11-29 13:21:49 -07:00
configure tree-wide: add spdx header on all scripts and helpers 2021-01-28 09:55:35 +01:00
LICENSE.GPL2 relicense to LGPLv2.1 (with exceptions) 2012-04-12 00:24:39 +02:00
LICENSE.LGPL2.1 licence: remove references to old FSF address 2012-12-17 11:41:31 +01:00
Makefile tree-wide: add spdx header on all scripts and helpers 2021-01-28 09:55:35 +01:00
meson_options.txt meson: take oomd out of the doghouse 2021-02-02 14:38:19 +01:00
meson.build Deprecate builds with split-usr, prepare for removal 2021-02-03 22:08:35 +00:00
mkosi.build meson: Fix update-man-rules when the build dir is not a subdir of the project dir 2021-01-24 17:33:49 +00:00
NEWS man: use ellipses for ranges in range descriptions 2021-01-29 17:02:23 +01:00
README Deprecate builds with split-usr, prepare for removal 2021-02-03 22:08:35 +00:00
README.md ci: point the Fossies badge to main 2021-01-21 20:08:44 +01:00
TODO update TODO 2021-01-19 13:41:42 +01:00
zanata.xml po: add basic fedora.zanata.org configuration 2018-02-19 13:56:57 +01:00

Systemd

System and Service Manager

Count of open issues over time Count of open pull requests over time Semaphore CI 2.0 Build Status
Coverity Scan Status
OSS-Fuzz Status
CIFuzz
CII Best Practices
Language Grade: C/C++
CentOS CI - CentOS 7
CentOS CI - Arch
CentOS CI - Arch (sanitizers)
Fossies codespell report
Packaging status

Details

Most documentation is available on systemd's web site.

Assorted, older, general information about systemd can be found in the systemd Wiki.

Information about build requirements is 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 guide for information on 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.