diff options
Diffstat (limited to 'man')
-rw-r--r-- | man/common-variables.xml | 8 | ||||
-rw-r--r-- | man/iocost.conf.xml | 76 | ||||
-rw-r--r-- | man/kernel-command-line.xml | 1 | ||||
-rw-r--r-- | man/rules/meson.build | 1 | ||||
-rw-r--r-- | man/systemd-poweroff.service.xml | 57 | ||||
-rw-r--r-- | man/systemd.xml | 14 |
6 files changed, 122 insertions, 35 deletions
diff --git a/man/common-variables.xml b/man/common-variables.xml index 0e220b3f9e..81425e57e2 100644 --- a/man/common-variables.xml +++ b/man/common-variables.xml @@ -81,6 +81,14 @@ </listitem> </varlistentry> + <varlistentry id='log-ratelimit-kmsg'> + <term><varname>$SYSTEMD_LOG_RATELIMIT_KMSG</varname></term> + + <listitem><para id='log-ratelimit-kmsg-body'> Whether to ratelimit kmsg or not. Takes a boolean. + Defaults to <literal>true</literal>. If disabled, systemd will not ratelimit messages written to kmsg. + </para></listitem> + </varlistentry> + <varlistentry id='pager'> <term><varname>$SYSTEMD_PAGER</varname></term> diff --git a/man/iocost.conf.xml b/man/iocost.conf.xml new file mode 100644 index 0000000000..be74244267 --- /dev/null +++ b/man/iocost.conf.xml @@ -0,0 +1,76 @@ +<?xml version='1.0'?> +<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" + "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> +<!-- SPDX-License-Identifier: LGPL-2.1-or-later --> + +<refentry id="iocost.conf" xmlns:xi="http://www.w3.org/2001/XInclude"> + <refentryinfo> + <title>iocost.conf</title> + <productname>systemd</productname> + </refentryinfo> + + <refmeta> + <refentrytitle>iocost.conf</refentrytitle> + <manvolnum>5</manvolnum> + </refmeta> + + <refnamediv> + <refname>iocost.conf</refname> + <refpurpose>Configuration files for the iocost solution manager</refpurpose> + </refnamediv> + + <refsynopsisdiv> + <para> + <filename>/etc/systemd/iocost.conf</filename> + <filename>/etc/systemd/iocost.conf.d/*.conf</filename> + </para> + </refsynopsisdiv> + + <refsect1> + <title>Description</title> + + <para>This file configures the behavior of <literal>iocost</literal>, a tool mostly used by + <citerefentry><refentrytitle>systemd-udevd</refentrytitle><manvolnum>8</manvolnum></citerefentry> rules + to automatically apply I/O cost solutions to <filename>/sys/fs/cgroup/io.cost.*</filename>.</para> + + <para>The qos and model values are calculated based on benchmarks collected on the + <ulink url="https://github.com/iocost-benchmark/iocost-benchmarks">iocost-benchmark</ulink> + project and turned into a set of solutions that go from most to least isolated. + Isolation allows the system to remain responsive in face of high I/O load. + Which solutions are available for a device can be queried from the udev metadata attached to it. By + default the naive solution is used, which provides the most bandwidth.</para> + </refsect1> + + <xi:include href="standard-conf.xml" xpointer="main-conf" /> + + <refsect1> + <title>Options</title> + + <para>All options are configured in the [IOCost] section:</para> + + <variablelist class='config-directives'> + + <varlistentry> + <term><varname>TargetSolution=</varname></term> + + <listitem><para>Chooses which I/O cost solution (identified by named string) should be used + for the devices in this system. The known solutions can be queried from the udev metadata + attached to the devices. If a device does not have the specified solution, the first one + listed in <varname>IOCOST_SOLUTIONS</varname> is used instead.</para> + + <para>E.g. <literal>TargetSolution=isolated-bandwidth</literal>.</para></listitem> + </varlistentry> + </variablelist> + </refsect1> + + <refsect1> + <title>See Also</title> + <para> + <citerefentry><refentrytitle>udevadm</refentrytitle><manvolnum>8</manvolnum></citerefentry>, + <ulink url="https://github.com/iocost-benchmark/iocost-benchmarks">The iocost-benchmarks github project</ulink>, + <ulink url="https://github.com/facebookexperimental/resctl-demo/tree/main/resctl-bench/doc">The resctl-bench + documentation details how the values are obtained</ulink> + </para> + </refsect1> + +</refentry> diff --git a/man/kernel-command-line.xml b/man/kernel-command-line.xml index 27ef72da36..09f8ace4de 100644 --- a/man/kernel-command-line.xml +++ b/man/kernel-command-line.xml @@ -66,6 +66,7 @@ <term><varname>systemd.log_level=</varname></term> <term><varname>systemd.log_location=</varname></term> <term><varname>systemd.log_color</varname></term> + <term><varname>systemd.log_ratelimit_kmsg</varname></term> <term><varname>systemd.default_standard_output=</varname></term> <term><varname>systemd.default_standard_error=</varname></term> <term><varname>systemd.setenv=</varname></term> diff --git a/man/rules/meson.build b/man/rules/meson.build index cdf98eaaf0..ca3b471281 100644 --- a/man/rules/meson.build +++ b/man/rules/meson.build @@ -24,6 +24,7 @@ manpages = [ ['hostnamectl', '1', [], 'ENABLE_HOSTNAMED'], ['hwdb', '7', [], 'ENABLE_HWDB'], ['integritytab', '5', [], 'HAVE_LIBCRYPTSETUP'], + ['iocost.conf', '5', [], ''], ['journal-remote.conf', '5', ['journal-remote.conf.d'], 'HAVE_MICROHTTPD'], ['journal-upload.conf', '5', ['journal-upload.conf.d'], 'HAVE_MICROHTTPD'], ['journalctl', '1', [], ''], diff --git a/man/systemd-poweroff.service.xml b/man/systemd-poweroff.service.xml index 9adfcc5af0..98c20471da 100644 --- a/man/systemd-poweroff.service.xml +++ b/man/systemd-poweroff.service.xml @@ -36,41 +36,34 @@ <refsect1> <title>Description</title> - <para><filename>systemd-poweroff.service</filename> is a system - service that is pulled in by <filename>poweroff.target</filename> and - is responsible for the actual system power-off operation. Similarly, - <filename>systemd-halt.service</filename> is pulled in by - <filename>halt.target</filename>, - <filename>systemd-reboot.service</filename> by - <filename>reboot.target</filename> and - <filename>systemd-kexec.service</filename> by - <filename>kexec.target</filename> to execute the respective - actions.</para> + <para><filename>systemd-poweroff.service</filename> is a system service that is pulled in by + <filename>poweroff.target</filename> and is responsible for the actual system power-off + operation. Similarly, <filename>systemd-halt.service</filename> is pulled in by + <filename>halt.target</filename>, <filename>systemd-reboot.service</filename> by + <filename>reboot.target</filename> and <filename>systemd-kexec.service</filename> by + <filename>kexec.target</filename> to execute the respective actions.</para> - <para>When these services are run, they ensure that PID 1 is - replaced by the - <filename>/usr/lib/systemd/systemd-shutdown</filename> tool which - is then responsible for the actual shutdown. Before shutting down, - this binary will try to unmount all remaining file systems, - disable all remaining swap devices, detach all remaining storage - devices and kill all remaining processes.</para> + <para>When these services are run, they ensure that PID 1 is replaced by the + <filename>/usr/lib/systemd/systemd-shutdown</filename> tool which is then responsible for the actual + shutdown. Before shutting down, this binary will try to unmount all remaining file systems (or at least + remount them read-only), disable all remaining swap devices, detach all remaining storage devices and + kill all remaining processes.</para> - <para>It is necessary to have this code in a separate binary - because otherwise rebooting after an upgrade might be broken — the - running PID 1 could still depend on libraries which are not - available any more, thus keeping the file system busy, which then - cannot be re-mounted read-only.</para> + <para>It is necessary to have this code in a separate binary because otherwise rebooting after an upgrade + might be broken — the running PID 1 could still depend on libraries which are not available any more, + thus keeping the file system busy, which then cannot be re-mounted read-only.</para> - <para>Immediately before executing the actual system - power-off/halt/reboot/kexec <filename>systemd-shutdown</filename> - will run all executables in - <filename>/usr/lib/systemd/system-shutdown/</filename> and pass - one arguments to them: either <literal>poweroff</literal>, - <literal>halt</literal>, <literal>reboot</literal>, or - <literal>kexec</literal>, depending on the chosen action. All - executables in this directory are executed in parallel, and - execution of the action is not continued before all executables - finished.</para> + <para>Shortly before executing the actual system power-off/halt/reboot/kexec + <filename>systemd-shutdown</filename> will run all executables in + <filename>/usr/lib/systemd/system-shutdown/</filename> and pass one arguments to them: either + <literal>poweroff</literal>, <literal>halt</literal>, <literal>reboot</literal>, or + <literal>kexec</literal>, depending on the chosen action. All executables in this directory are executed + in parallel, and execution of the action is not continued before all executables finished. Note that + these executables are run <emphasis>after</emphasis> all services have been shut down, and after most + mounts have been detached (the root file system as well as <filename>/run/</filename> and various API + file systems are still around though). This means any programs dropped into this directory must be + prepared to run in such a limited execution environment and not rely on external services or hierarchies + such as <filename>/var/</filename> to be around (or writable).</para> <para>Note that <filename>systemd-poweroff.service</filename> (and the related units) should never be executed directly. Instead, trigger system shutdown with a command such as <literal>systemctl diff --git a/man/systemd.xml b/man/systemd.xml index 1a68301d50..ca9e4e9988 100644 --- a/man/systemd.xml +++ b/man/systemd.xml @@ -681,6 +681,11 @@ </varlistentry> <varlistentry> + <term><varname>$SYSTEMD_LOG_RATELIMIT_KMSG</varname></term> + <listitem><xi:include href="common-variables.xml" xpointer="log-ratelimit-kmsg" /></listitem> + </varlistentry> + + <varlistentry> <term><varname>$XDG_CONFIG_HOME</varname></term> <term><varname>$XDG_CONFIG_DIRS</varname></term> <term><varname>$XDG_DATA_HOME</varname></term> @@ -865,13 +870,16 @@ <term><varname>systemd.log_target=</varname></term> <term><varname>systemd.log_time</varname></term> <term><varname>systemd.log_tid</varname></term> + <term><varname>systemd.log_ratelimit_kmsg</varname></term> <listitem><para>Controls log output, with the same effect as the <varname>$SYSTEMD_LOG_COLOR</varname>, <varname>$SYSTEMD_LOG_LEVEL</varname>, <varname>$SYSTEMD_LOG_LOCATION</varname>, <varname>$SYSTEMD_LOG_TARGET</varname>, - <varname>$SYSTEMD_LOG_TIME</varname>, and <varname>$SYSTEMD_LOG_TID</varname> environment variables - described above. <varname>systemd.log_color</varname>, <varname>systemd.log_location</varname>, - <varname>systemd.log_time</varname>, and <varname>systemd.log_tid=</varname> can be specified without + <varname>$SYSTEMD_LOG_TIME</varname>, <varname>$SYSTEMD_LOG_TID</varname> and + <varname>$SYSTEMD_LOG_RATELIMIT_KMSG</varname> environment variables described above. + <varname>systemd.log_color</varname>, <varname>systemd.log_location</varname>, + <varname>systemd.log_time</varname>, <varname>systemd.log_tid</varname> and + <varname>systemd.log_ratelimit_kmsg</varname> can be specified without an argument, with the same effect as a positive boolean.</para></listitem> </varlistentry> |