From beca342dba17da022e87374708dc374cc11d5dca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Thu, 25 Feb 2021 13:16:39 +0100 Subject: [PATCH 1/9] man: fix grammaro --- man/sd_bus_message_read.xml | 2 +- man/sd_bus_message_read_basic.xml | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/man/sd_bus_message_read.xml b/man/sd_bus_message_read.xml index 12a2c77ea8..0b921258dc 100644 --- a/man/sd_bus_message_read.xml +++ b/man/sd_bus_message_read.xml @@ -74,7 +74,7 @@ should be read. See the table below for a complete list of allowed arguments and their types. Note that, if the basic type is a pointer (e.g., const char * in the case of a string), the argument is a pointer to a pointer, and also the pointer value that is written is only borrowed and the contents must - be copied if they are to be used after the end of the messages lifetime. If the type is + be copied if they are to be used after the end of the message's lifetime. If the type is h (UNIX file descriptor), the descriptor is not duplicated by this call and the returned descriptor remains in possession of the message object, and needs to be duplicated by the caller in order to keep an open reference to it after the message object is freed. diff --git a/man/sd_bus_message_read_basic.xml b/man/sd_bus_message_read_basic.xml index 443fcdaad0..bd5a149a26 100644 --- a/man/sd_bus_message_read_basic.xml +++ b/man/sd_bus_message_read_basic.xml @@ -58,12 +58,12 @@ type is 's', the object passed in p should have type const char **. Note that, if the basic type is a pointer (e.g., const char * in the case of a string), the pointer is only borrowed and the contents must - be copied if they are to be used after the end of the messages lifetime. Similarly, during the lifetime - of such a pointer, the message must not be modified. If type is + be copied if they are to be used after the end of the message's lifetime. Similarly, during the + lifetime of such a pointer, the message must not be modified. If type is 'h' (UNIX file descriptor), the descriptor is not duplicated by this call and the - returned descriptor remains in possession of the message object, and needs to be duplicated by the caller - in order to keep an open reference to it after the message object is freed (for example by calling - fcntl(fd, FD_DUPFD_CLOEXEC, 3)). See the table below for a complete list of + returned descriptor remains in possession of the message object, and needs to be duplicated by the + caller in order to keep an open reference to it after the message object is freed (for example by + calling fcntl(fd, FD_DUPFD_CLOEXEC, 3)). See the table below for a complete list of allowed types. From 326152af4dba8f4fd987d35e3fc2fa3c85a3f2b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Thu, 25 Feb 2021 13:25:35 +0100 Subject: [PATCH 2/9] man: use markup more in description of ManagedOOMPreference= Follow-up for d8a4d64bc37ad21381f584b6c25792995584c7a2. --- man/systemd.resource-control.xml | 39 +++++++++++++++++--------------- 1 file changed, 21 insertions(+), 18 deletions(-) diff --git a/man/systemd.resource-control.xml b/man/systemd.resource-control.xml index 6d15540377..33b6fcee87 100644 --- a/man/systemd.resource-control.xml +++ b/man/systemd.resource-control.xml @@ -918,31 +918,34 @@ DeviceAllow=/dev/loop-control ManagedOOMPreference=none|avoid|omit - Allows deprioritizing or omitting this unit's cgroup as a candidate when systemd-oomd - needs to act. Requires support for extended attributes (see + Allows deprioritizing or omitting this unit's cgroup as a candidate when + systemd-oomd needs to act. Requires support for extended attributes (see xattr7) - in order to use or . Additionally, systemd-oomd - will ignore these extended attributes if the unit's cgroup is not owned by the root user. + in order to use or . Additionally, + systemd-oomd will ignore these extended attributes if the unit's cgroup is not + owned by the root user. If this property is set to , the service manager will set the - "user.oomd_avoid" extended attribute on the unit's cgroup to "1". If systemd-oomd sees - this extended attribute on a cgroup set to "1" when choosing between candidates, it will only select the - cgroup with "user.oomd_avoid" if there are no other viable candidates. + user.oomd_avoid extended attribute on the unit's cgroup to 1. + If systemd-oomd sees this extended attribute on a cgroup set to + 1 when choosing between candidates, it will only select the cgroup with + user.oomd_avoid if there are no other viable candidates. - If this property is set to , the service manager will set the "user.oomd_omit" - extended attribute on the unit's cgroup to "1". If systemd-oomd sees the this extended - attribute on the cgroup set to "1", it will ignore the cgroup as a candidate and will not perform any actions - on the cgroup. + If this property is set to , the service manager will set the + user.oomd_omit extended attribute on the unit's cgroup to 1. + If systemd-oomd sees the this extended attribute on the cgroup set to + 1, it will ignore the cgroup as a candidate and will not perform any actions on + the cgroup. - It is recommended to use and sparingly as it can adversely - affect systemd-oomd's kill behavior. Also note that these extended attributes are not - applied recursively to cgroups under this unit's cgroup. + It is recommended to use and sparingly, as it + can adversely affect systemd-oomd's kill behavior. Also note that these extended + attributes are not applied recursively to cgroups under this unit's cgroup. - Defaults to which means no extended attributes will be set and systemd-oomd will - sort this unit's cgroup as defined in + Defaults to which means no extended attributes will be set and + systemd-oomd will sort this unit's cgroup as defined in systemd-oomd.service8 - and oomd.conf5 (if this - unit's cgroup becomes a candidate). + and oomd.conf5 + (if this unit's cgroup becomes a candidate). From d5630d2795777900bdbfbafdba997a68a842a31a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Thu, 25 Feb 2021 13:27:49 +0100 Subject: [PATCH 3/9] man: drop misplaced spaces and parenthesization --- man/systemd.netdev.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/man/systemd.netdev.xml b/man/systemd.netdev.xml index 2275adb3e7..9ab88554bc 100644 --- a/man/systemd.netdev.xml +++ b/man/systemd.netdev.xml @@ -181,13 +181,13 @@ A virtual tunnel interface like vti/vti6 but with several advantages. ifb - The Intermediate Functional Block (ifb) pseudo network interface acts as a QoS concentrator for multiple different sources of traffic. + The Intermediate Functional Block (ifb) pseudo network interface acts as a QoS concentrator for multiple different sources of traffic. bareudp - Bare UDP tunnels provide a generic L3 encapsulation support for tunnelling different L3 protocols like MPLS, IP etc. inside of an UDP tunnel. + Bare UDP tunnels provide a generic L3 encapsulation support for tunnelling different L3 protocols like MPLS, IP etc. inside of an UDP tunnel. batadv - (B.A.T.M.A.N. Advanced) is a routing protocol for multi-hop mobile ad hoc networks which operates on layer2. + B.A.T.M.A.N. Advanced is a routing protocol for multi-hop mobile ad-hoc networks which operates on layer 2. From c91ebcdbd11918ddfe0d67a015dddb33daa9b2a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Thu, 25 Feb 2021 13:57:20 +0100 Subject: [PATCH 4/9] man: explain settings in timesyncd.conf(5) Fixes #18508. --- man/timesyncd.conf.xml | 61 +++++++++++++++++++++++------------------- 1 file changed, 33 insertions(+), 28 deletions(-) diff --git a/man/timesyncd.conf.xml b/man/timesyncd.conf.xml index da2b320a43..9554cbb378 100644 --- a/man/timesyncd.conf.xml +++ b/man/timesyncd.conf.xml @@ -47,54 +47,59 @@ NTP= - A space-separated list of NTP server host - names or IP addresses. During runtime this list is combined - with any per-interface NTP servers acquired from + A space-separated list of NTP server host names or IP addresses. During runtime this + list is combined with any per-interface NTP servers acquired from systemd-networkd.service8. - systemd-timesyncd will contact all configured system or - per-interface servers in turn until one is found that - responds. When the empty string is assigned, the list of - NTP servers is reset, and all assignments prior to this one - will have no effect. This setting defaults to an empty - list. + systemd-timesyncd will contact all configured system or per-interface servers in + turn, until one responds. When the empty string is assigned, the list of NTP servers is reset, and + all prior assignments will have no effect. This setting defaults to an empty list. FallbackNTP= - A space-separated list of NTP server host - names or IP addresses to be used as the fallback NTP servers. - Any per-interface NTP servers obtained from + A space-separated list of NTP server host names or IP addresses to be used as the + fallback NTP servers. Any per-interface NTP servers obtained from systemd-networkd.service8 - take precedence over this setting, as do any servers set via - NTP= above. This setting is hence only used - if no other NTP server information is known. When the empty - string is assigned, the list of NTP servers is reset, - and all assignments prior to this one will have no effect. - If this option is not given, a compiled-in list of NTP servers - is used instead. + take precedence over this setting, as do any servers set via NTP= above. This + setting is hence only relevant if no other NTP server information is known. When the empty string is + assigned, the list of NTP servers is reset, and all prior assignments will have no effect. If this + option is not given, a compiled-in list of NTP servers is used. RootDistanceMaxSec= - Maximum acceptable root distance. Takes a time value (in seconds). + Maximum acceptable root distance, i.e. the maximum estimated time required for a + packet to travel to the server we are connected to from the server with the reference clock. If + the current server does not satisfy this limit, systemd-timesyncd will switch + to a different server. + + Takes a time value. The default unit is seconds, but other units may be specified, see + systemd.time5. Defaults to 5 seconds. PollIntervalMinSec= PollIntervalMaxSec= - The minimum and maximum poll intervals for NTP messages. - Each setting takes a time value (in seconds). - PollIntervalMinSec= must not be smaller than 16 seconds. - PollIntervalMaxSec= must be larger than PollIntervalMinSec=. - PollIntervalMinSec= defaults to 32 seconds, and - PollIntervalMaxSec= defaults to 2048 seconds. + The minimum and maximum poll intervals for NTP messages. Polling starts at the + minimum poll interval, and is adjusted within the specified limits in response to received packets. + + + Each setting takes a time value. The default unit is seconds, but other units may be specified, + see systemd.time5. + PollIntervalMinSec= defaults to 32 seconds and must not be smaller than + 16 seconds. PollIntervalMaxSec= defaults to 34 min 8 s (2048 seconds) and must be + larger than PollIntervalMinSec=. ConnectionRetrySec= - Specifies the delaying attempts to contact servers after network is online. Takes a time value (in seconds). - Defaults to 30 seconds and must not be smaller than 1 seconds. + Specifies the minimum delay before subsequent attempts to contact a new NTP server + are made. + + Takes a time value. The default unit is seconds, but other units may be specified, see + systemd.time5. + Defaults to 30 seconds and must not be smaller than 1 second. From 403db4706932d251f491e19c17aef3342a9dce6d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Thu, 25 Feb 2021 14:01:56 +0100 Subject: [PATCH 5/9] timesync: rename variable to match config name PollIntervalMinSec and PollIntervalMaxSec use the same pattern, but RootDistanceMaxSec had switched orderd in the code. --- src/timesync/timesyncd-bus.c | 2 +- src/timesync/timesyncd-gperf.gperf | 2 +- src/timesync/timesyncd-manager.c | 8 ++++---- src/timesync/timesyncd-manager.h | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/timesync/timesyncd-bus.c b/src/timesync/timesyncd-bus.c index c5ad5feb95..1a14564e04 100644 --- a/src/timesync/timesyncd-bus.c +++ b/src/timesync/timesyncd-bus.c @@ -165,7 +165,7 @@ static const sd_bus_vtable manager_vtable[] = { SD_BUS_PROPERTY("FallbackNTPServers", "as", property_get_servers, offsetof(Manager, fallback_servers), SD_BUS_VTABLE_PROPERTY_CONST), SD_BUS_PROPERTY("ServerName", "s", property_get_current_server_name, offsetof(Manager, current_server_name), 0), SD_BUS_PROPERTY("ServerAddress", "(iay)", property_get_current_server_address, offsetof(Manager, current_server_address), 0), - SD_BUS_PROPERTY("RootDistanceMaxUSec", "t", bus_property_get_usec, offsetof(Manager, max_root_distance_usec), SD_BUS_VTABLE_PROPERTY_CONST), + SD_BUS_PROPERTY("RootDistanceMaxUSec", "t", bus_property_get_usec, offsetof(Manager, root_distance_max_usec), SD_BUS_VTABLE_PROPERTY_CONST), SD_BUS_PROPERTY("PollIntervalMinUSec", "t", bus_property_get_usec, offsetof(Manager, poll_interval_min_usec), SD_BUS_VTABLE_PROPERTY_CONST), SD_BUS_PROPERTY("PollIntervalMaxUSec", "t", bus_property_get_usec, offsetof(Manager, poll_interval_max_usec), SD_BUS_VTABLE_PROPERTY_CONST), SD_BUS_PROPERTY("PollIntervalUSec", "t", bus_property_get_usec, offsetof(Manager, poll_interval_usec), 0), diff --git a/src/timesync/timesyncd-gperf.gperf b/src/timesync/timesyncd-gperf.gperf index 1a26995751..556a2e9ba8 100644 --- a/src/timesync/timesyncd-gperf.gperf +++ b/src/timesync/timesyncd-gperf.gperf @@ -21,7 +21,7 @@ struct ConfigPerfItem; Time.NTP, config_parse_servers, SERVER_SYSTEM, 0 Time.Servers, config_parse_servers, SERVER_SYSTEM, 0 Time.FallbackNTP, config_parse_servers, SERVER_FALLBACK, 0 -Time.RootDistanceMaxSec, config_parse_sec, 0, offsetof(Manager, max_root_distance_usec) +Time.RootDistanceMaxSec, config_parse_sec, 0, offsetof(Manager, root_distance_max_usec) Time.PollIntervalMinSec, config_parse_sec, 0, offsetof(Manager, poll_interval_min_usec) Time.PollIntervalMaxSec, config_parse_sec, 0, offsetof(Manager, poll_interval_max_usec) Time.ConnectionRetrySec, config_parse_sec, 0, offsetof(Manager, connection_retry_usec) diff --git a/src/timesync/timesyncd-manager.c b/src/timesync/timesyncd-manager.c index 8c2ee4cbec..ed6bbb4c81 100644 --- a/src/timesync/timesyncd-manager.c +++ b/src/timesync/timesyncd-manager.c @@ -34,7 +34,7 @@ #define ADJ_SETOFFSET 0x0100 /* add 'time' to current time */ #endif -/* expected accuracy of time synchronization; used to adjust the poll interval */ +/* Expected accuracy of time synchronization; used to adjust the poll interval */ #define NTP_ACCURACY_SEC 0.2 /* @@ -45,7 +45,7 @@ #define NTP_MAX_ADJUST 0.4 /* Default of maximum acceptable root distance in microseconds. */ -#define NTP_MAX_ROOT_DISTANCE (5 * USEC_PER_SEC) +#define NTP_ROOT_DISTANCE_MAX_USEC (5 * USEC_PER_SEC) /* Maximum number of missed replies before selecting another source. */ #define NTP_MAX_MISSED_REPLIES 2 @@ -507,7 +507,7 @@ static int manager_receive_response(sd_event_source *source, int fd, uint32_t re } root_distance = ntp_ts_short_to_d(&ntpmsg.root_delay) / 2 + ntp_ts_short_to_d(&ntpmsg.root_dispersion); - if (root_distance > (double) m->max_root_distance_usec / (double) USEC_PER_SEC) { + if (root_distance > (double) m->root_distance_max_usec / (double) USEC_PER_SEC) { log_info("Server has too large root distance. Disconnecting."); return manager_connect(m); } @@ -1081,7 +1081,7 @@ int manager_new(Manager **ret) { if (!m) return -ENOMEM; - m->max_root_distance_usec = NTP_MAX_ROOT_DISTANCE; + m->root_distance_max_usec = NTP_ROOT_DISTANCE_MAX_USEC; m->poll_interval_min_usec = NTP_POLL_INTERVAL_MIN_USEC; m->poll_interval_max_usec = NTP_POLL_INTERVAL_MAX_USEC; diff --git a/src/timesync/timesyncd-manager.h b/src/timesync/timesyncd-manager.h index af218a5f63..4aa7575a80 100644 --- a/src/timesync/timesyncd-manager.h +++ b/src/timesync/timesyncd-manager.h @@ -79,7 +79,7 @@ struct Manager { } samples[8]; unsigned samples_idx; double samples_jitter; - usec_t max_root_distance_usec; + usec_t root_distance_max_usec; /* last change */ bool jumped; From 9f0840e421c3fc5df404ad51dd37e5ebb13f288b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Thu, 25 Feb 2021 14:14:39 +0100 Subject: [PATCH 6/9] man: say that hostname must can be a fqdn or not Fixes #18426 --- man/hostnamectl.xml | 15 +++++++++++---- man/os-release.xml | 3 ++- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/man/hostnamectl.xml b/man/hostnamectl.xml index 224dab78a7..8be8972907 100644 --- a/man/hostnamectl.xml +++ b/man/hostnamectl.xml @@ -1,6 +1,9 @@ + "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [ + +%entities; +]> - Pass the empty string as the - hostname to reset the selected hostnames to their default - (usually localhost). + The static and transient hostnames must each be either a single DNS label (a string composed of + 7-bit ASCII lower-case characters and no spaces or dots, limited to the format allowed for DNS domain + name labels), or a sequence of such labels separated by single dots that forms a valid DNS FQDN. The + hostname must be at most 64 characters, which is a Linux limitation (DNS allows longer names). + + Pass the empty string as the hostname to reset the selected hostnames to + their default (usually &FALLBACK_HOSTNAME;). diff --git a/man/os-release.xml b/man/os-release.xml index a6d333f278..e6162bdacf 100644 --- a/man/os-release.xml +++ b/man/os-release.xml @@ -325,7 +325,8 @@ present and no other configuration source specifies the hostname. Must be either a single DNS label (a string composed of 7-bit ASCII lower-case characters and no spaces or dots, limited to the format allowed for DNS domain name labels), or a sequence of such labels separated by single dots that forms - a valid DNS FQDN. The total length must be at most 64 characters. + a valid DNS FQDN. The hostname must be at most 64 characters, which is a Linux limitation (DNS allows + longer names). See org.freedesktop.hostname15 From 4fc8a70d9f062b7b51c6c808a24ca3fd22df668f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Thu, 25 Feb 2021 14:30:34 +0100 Subject: [PATCH 7/9] man: fix two issues in udev(7) Fixed #18050. --- man/udev.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/man/udev.xml b/man/udev.xml index c3168b0864..1e9b92c524 100644 --- a/man/udev.xml +++ b/man/udev.xml @@ -125,7 +125,7 @@ Values Values are written as double quoted strings, such as ("string"). To include a quotation mark (") in the value, precede it by a backslash (\"). - Any other occurrences of a character followed by a backslash are not further unescaped. + Any other occurrences of a backslash followed by a character are not unescaped. That is, "\t\n" is treated as four characters: backslash, lowercase t, backslash, lowercase n. @@ -459,7 +459,7 @@ Specify a program to be executed after processing of all the rules for the event. With +=, this invocation is added to the list, and with = or :=, it replaces any previous contents of the list. Please note that both - program and builtin types described below use a single + program and builtin types described below share a common list, so clearing the list with := and = affects both types. From a8136f1bc03d1bdf93b9071b4f82123b81a05c8e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Thu, 25 Feb 2021 14:54:54 +0100 Subject: [PATCH 8/9] man: advertise shared drop-ins more systemd.unit(5) is a wall of text. And this particular feature can be very useful in the context of resource control. Let's avertise this cool feature a bit more. Fixes #17900. --- man/systemd.resource-control.xml | 19 +++++++++++++++++++ man/systemd.unit.xml | 4 ++-- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/man/systemd.resource-control.xml b/man/systemd.resource-control.xml index 33b6fcee87..7062cd3637 100644 --- a/man/systemd.resource-control.xml +++ b/man/systemd.resource-control.xml @@ -63,6 +63,25 @@ url="https://www.freedesktop.org/wiki/Software/systemd/ControlGroupInterface/">New Control Group Interfaces for an introduction on how to make use of resource control APIs from programs. + + + Setting resource controls for a group of related units + + As described in + systemd.unit5, the + settings listed here may be set through the main file of a unit and drop-in snippets in + *.d/ directories. The list of directories searched for drop-ins + includes names formed by repeatedly truncating the unit name after all dashes. This is particularly + convenient to set resource limits for a group of units with similar names. + + For example, every user gets their own slice + user-nnn.slice. Drop-ins with local configuration that + affect user 1000 may be placed in + /etc/systemd/system/user-1000.slice, + /etc/systemd/system/user-1000.slice.d/*.conf, but also + /etc/systemd/system/user-.slice.d/*.conf. This last directory + applies to all user slices. + diff --git a/man/systemd.unit.xml b/man/systemd.unit.xml index 4d7d09c5c0..0453c783b6 100644 --- a/man/systemd.unit.xml +++ b/man/systemd.unit.xml @@ -190,8 +190,8 @@ headers. For instantiated units, this logic will first look for the instance .d/ subdirectory (e.g. foo@bar.service.d/) and read its .conf files, followed by the template .d/ subdirectory (e.g. foo@.service.d/) and the .conf - files there. Moreover for units names containing dashes (-), the set of directories generated by - truncating the unit name after all dashes is searched too. Specifically, for a unit name + files there. Moreover for unit names containing dashes (-), the set of directories generated by + repeatedly truncating the unit name after all dashes is searched too. Specifically, for a unit name foo-bar-baz.service not only the regular drop-in directory foo-bar-baz.service.d/ is searched but also both foo-bar-.service.d/ and foo-.service.d/. This is useful for defining common drop-ins for a set of related units, whose From 34507fa9e9c39dfe1b8678ea7140b407a0f39d77 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Thu, 25 Feb 2021 21:13:47 +0100 Subject: [PATCH 9/9] man: remove details of ManagedOOMPreference implementation --- man/systemd.resource-control.xml | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/man/systemd.resource-control.xml b/man/systemd.resource-control.xml index 7062cd3637..1bc45a9f00 100644 --- a/man/systemd.resource-control.xml +++ b/man/systemd.resource-control.xml @@ -944,27 +944,23 @@ DeviceAllow=/dev/loop-control systemd-oomd will ignore these extended attributes if the unit's cgroup is not owned by the root user. - If this property is set to , the service manager will set the - user.oomd_avoid extended attribute on the unit's cgroup to 1. - If systemd-oomd sees this extended attribute on a cgroup set to - 1 when choosing between candidates, it will only select the cgroup with - user.oomd_avoid if there are no other viable candidates. + If this property is set to , the service manager will convey this to + systemd-oomd, which will only select this cgroup if there are no other viable + candidates. - If this property is set to , the service manager will set the - user.oomd_omit extended attribute on the unit's cgroup to 1. - If systemd-oomd sees the this extended attribute on the cgroup set to - 1, it will ignore the cgroup as a candidate and will not perform any actions on - the cgroup. + If this property is set to , the service manager will convey this to + systemd-oomd, which will ignore this cgroup as a candidate and will not perform + any actions on it. It is recommended to use and sparingly, as it can adversely affect systemd-oomd's kill behavior. Also note that these extended attributes are not applied recursively to cgroups under this unit's cgroup. - Defaults to which means no extended attributes will be set and - systemd-oomd will sort this unit's cgroup as defined in + Defaults to which means systemd-oomd will rank this + unit's cgroup as defined in systemd-oomd.service8 - and oomd.conf5 - (if this unit's cgroup becomes a candidate). + and oomd.conf5. +