basic/linux: update kernel headers from v6.14-rc1
[systemd.io.git] / man / iocost.conf.xml
blob88e4edd2c121a41fcb85a15fca214beafbe4df7d
1 <?xml version='1.0'?>
2 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3   "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
4 <!-- SPDX-License-Identifier: LGPL-2.1-or-later -->
6 <refentry id="iocost.conf" xmlns:xi="http://www.w3.org/2001/XInclude">
7   <refentryinfo>
8     <title>iocost.conf</title>
9     <productname>systemd</productname>
10   </refentryinfo>
12   <refmeta>
13     <refentrytitle>iocost.conf</refentrytitle>
14     <manvolnum>5</manvolnum>
15   </refmeta>
17   <refnamediv>
18     <refname>iocost.conf</refname>
19     <refpurpose>Configuration files for the iocost solution manager</refpurpose>
20   </refnamediv>
22   <refsynopsisdiv>
23     <para>
24       <filename>/etc/systemd/iocost.conf</filename>
25       <filename>/etc/systemd/iocost.conf.d/*.conf</filename>
26     </para>
27   </refsynopsisdiv>
29   <refsect1>
30     <title>Description</title>
32     <para>This file configures the behavior of <literal>iocost</literal>, a tool mostly used by
33     <citerefentry><refentrytitle>systemd-udevd</refentrytitle><manvolnum>8</manvolnum></citerefentry> rules
34     to automatically apply I/O cost solutions to <filename>/sys/fs/cgroup/io.cost.*</filename>.</para>
36     <para>The qos and model values are calculated based on benchmarks collected on the
37     <ulink url="https://github.com/iocost-benchmark/iocost-benchmarks">iocost-benchmark</ulink>
38     project and turned into a set of solutions that go from most to least isolated.
39     Isolation allows the system to remain responsive in face of high I/O load.
40     Which solutions are available for a device can be queried from the udev metadata attached to it. By
41     default the naive solution is used, which provides the most bandwidth.</para>
42   </refsect1>
44   <xi:include href="standard-conf.xml" xpointer="main-conf" />
46   <refsect1>
47     <title>Options</title>
49     <para>All options are configured in the [IOCost] section:</para>
51     <variablelist class='config-directives'>
53       <varlistentry>
54         <term><varname>TargetSolution=</varname></term>
56         <listitem><para>Chooses which I/O cost solution (identified by named string) should be used
57         for the devices in this system. The known solutions can be queried from the udev metadata
58         attached to the devices. If a device does not have the specified solution, the first one
59         listed in <varname>IOCOST_SOLUTIONS</varname> is used instead.</para>
61         <para>E.g. <literal>TargetSolution=isolated-bandwidth</literal>.</para>
63         <xi:include href="version-info.xml" xpointer="v254"/></listitem>
64       </varlistentry>
65     </variablelist>
66   </refsect1>
68   <refsect1>
69     <title>See Also</title>
70     <para><simplelist type="inline">
71       <member><citerefentry><refentrytitle>udevadm</refentrytitle><manvolnum>8</manvolnum></citerefentry></member>
72       <member><ulink url="https://github.com/iocost-benchmark/iocost-benchmarks">The
73       iocost-benchmarks github project</ulink></member>
74       <member><ulink url="https://github.com/facebookexperimental/resctl-demo/tree/main/resctl-bench/doc">The resctl-bench
75       documentation details how the values are obtained</ulink></member>
76     </simplelist></para>
77   </refsect1>
79 </refentry>