Systemd/src
Michal Sekletár d9e45bc3ab core: introduce support for cgroup freezer
With cgroup v2 the cgroup freezer is implemented as a cgroup
attribute called cgroup.freeze. cgroup can be frozen by writing "1"
to the file and kernel will send us a notification through
"cgroup.events" after the operation is finished and processes in the
cgroup entered quiescent state, i.e. they are not scheduled to
run. Writing "0" to the attribute file does the inverse and process
execution is resumed.

This commit exposes above low-level functionality through systemd's DBus
API. Each unit type must provide specialized implementation for these
methods, otherwise, we return an error. So far only service, scope, and
slice unit types provide the support. It is possible to check if a
given unit has the support using CanFreeze() DBus property.

Note that DBus API has a synchronous behavior and we dispatch the reply
to freeze/thaw requests only after the kernel has notified us that
requested operation was completed.
2020-04-30 19:02:51 +02:00
..
ac-power
activate
analyze verify: ignore nonexistent executables if required 2020-04-14 21:23:31 +02:00
ask-password
backlight
basic core: introduce support for cgroup freezer 2020-04-30 19:02:51 +02:00
binfmt binfmt: also unregister binfmt entries from unit 2020-04-23 17:14:45 +02:00
boot tree-wide: fix spelling errors 2020-04-21 23:21:08 +02:00
busctl busctl: wrap long lines 2020-04-10 16:40:48 +02:00
cgls
cgroups-agent
cgtop
core core: introduce support for cgroup freezer 2020-04-30 19:02:51 +02:00
coredump tree-wide: use cmsg_find() helper at various places where appropriate 2020-04-23 19:41:15 +02:00
cryptsetup tree-wide: spellcheck using codespell 2020-04-16 18:00:40 +02:00
debug-generator
delta
detect-virt
dissect dissect: add --fsck= option to systemd-dissect tool 2020-01-29 19:29:52 +01:00
environment-d-generator sd-path: rename the two functions 2020-03-27 20:12:44 +01:00
escape
firstboot tree-wide: use "hostname" spelling everywhere 2020-04-21 16:58:04 +02:00
fsck
fstab-generator fstab-generator: handle systemd.swap= command-line argument 2020-03-12 17:52:43 +01:00
fuzz ci: turn off FuzzBuzz 2020-03-30 14:57:22 +02:00
getty-generator
gpt-auto-generator
hibernate-resume Fix generator name in hibernate-resume-generator's drop-in 2020-02-04 14:49:04 +09:00
home homectl: say "home area" in more places 2020-04-28 09:56:24 +02:00
hostname Merge pull request #15472 from keszybz/dbus-api-docs 2020-04-23 17:01:11 +02:00
hwdb
id128 id128: change table header from "uuid" to just "id" 2020-01-29 15:32:26 +01:00
import socket-util: introduce type-safe, dereferencing wrapper CMSG_FIND_DATA around cmsg_find() 2020-04-23 19:41:15 +02:00
initctl tree-wide: use structured initialization at various places 2020-04-24 07:44:42 +02:00
journal tests: various small fixes for strict systems 2020-04-26 20:18:48 +02:00
journal-remote Support journal-upload HTTPS without key and certificate 2020-04-16 14:05:41 +03:00
kernel-install Add meson build option to prevent building kernel-install 2020-04-14 20:22:32 +02:00
libsystemd core: introduce support for cgroup freezer 2020-04-30 19:02:51 +02:00
libsystemd-network dhcp6: make string argument to sd_dhcp6_client_set_request_mud_url() const 2020-04-24 10:13:33 +02:00
libudev tree-wide: fix spelling errors 2020-04-21 23:21:08 +02:00
locale tree-wide: implement new log control API dbus interface in all our daemons 2020-04-21 17:08:16 +02:00
login tree-wide: implement new log control API dbus interface in all our daemons 2020-04-21 17:08:16 +02:00
machine tree-wide: implement new log control API dbus interface in all our daemons 2020-04-21 17:08:16 +02:00
machine-id-setup
modules-load
mount systemd: Fix busctl crash on aarch64 when setting output table format 2020-02-16 02:09:26 +09:00
network networkd: don't do lldp rx nor tx on bond devices 2020-04-23 20:01:30 +02:00
notify
nspawn nspawn: be more careful with creating/chowning directories to overmount 2020-04-28 19:40:46 +02:00
nss-myhostname tree-wide: use "hostname" spelling everywhere 2020-04-21 16:58:04 +02:00
nss-mymachines
nss-resolve
nss-systemd nss-systemd: don't synthesize root/nobody when iterating 2020-04-23 23:07:08 +02:00
partition tree-wide: spellcheck using codespell 2020-04-16 18:00:40 +02:00
path path: log at debug level when we can't query a variable 2020-03-27 20:12:45 +01:00
portable tree-wide: use recvmsg_safe() at various places 2020-04-23 09:41:47 +02:00
pstore
quotacheck
random-seed random-seed: add missing header for GRND_NONBLOCK (#14988) 2020-03-02 14:48:21 +09:00
rc-local-generator
remount-fs
reply-password
resolve tree-wide: support a bunch of additional specifiers 2020-04-28 22:47:21 +02:00
rfkill
run run: don't wait for start job to complete when running interactively anyway 2020-04-23 09:47:20 +02:00
run-generator
shared tree-wide: support a bunch of additional specifiers 2020-04-28 22:47:21 +02:00
shutdown shutdown: unregister all binfmt_misc entries before entering shutdown loop 2020-04-23 17:14:38 +02:00
sleep sleep: automatically lock all home directories when suspending 2020-01-28 22:36:56 +01:00
socket-proxy tree-wide: use the return value from sockaddr_un_set_path() 2020-03-02 15:55:44 +01:00
stdio-bridge
sulogin-shell
sysctl sysctl: fix segfault 2020-02-06 23:49:32 +09:00
system-update-generator
systemctl core: introduce support for cgroup freezer 2020-04-30 19:02:51 +02:00
systemd sd-bus: Add sd_bus_query_sender_creds/privilege docs 2020-04-28 19:38:04 +02:00
sysusers tree-wide: support a bunch of additional specifiers 2020-04-28 22:47:21 +02:00
sysv-generator
test basic/cgroup-util: introduce cg_get_keyed_attribute_full() 2020-04-29 18:41:19 +02:00
time-wait-sync
timedate tree-wide: implement new log control API dbus interface in all our daemons 2020-04-21 17:08:16 +02:00
timesync tree-wide: use recvmsg_safe() at various places 2020-04-23 09:41:47 +02:00
tmpfiles Merge pull request #15626 from poettering/more-specifiers 2020-04-29 10:07:12 +02:00
tty-ask-password-agent tree-wide: use the return value from sockaddr_un_set_path() 2020-03-02 15:55:44 +01:00
udev Merge pull request #15570 from poettering/cmsg-find 2020-04-24 07:45:07 +02:00
update-done
update-utmp Remove unneded {}s 2020-04-13 09:31:49 +02:00
user-sessions
userdb userdbctl: make --help fit in 80 columns 2020-04-28 09:56:24 +02:00
vconsole
veritysetup
version tree-wide: spellcheck using codespell 2020-04-16 18:00:40 +02:00
volatile-root