modules/nix-daemon: Amend daemon(CPU|IO)Sched(Policy|Class) description (#147497)

Suggest appropriate values for various types of systems and add some
formatting.
This commit is contained in:
Mikael 2021-12-10 11:30:51 +01:00 committed by GitHub
parent c2b79874a7
commit 4c39a29128
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -192,15 +192,28 @@ in
example = "batch"; example = "batch";
description = '' description = ''
Nix daemon process CPU scheduling policy. This policy propagates to Nix daemon process CPU scheduling policy. This policy propagates to
build processes. other is the default scheduling policy for regular build processes. <literal>other</literal> is the default scheduling
tasks. The batch policy is similar to other, but optimised for policy for regular tasks. The <literal>batch</literal> policy is
non-interactive tasks. idle is for extremely low-priority tasks similar to <literal>other</literal>, but optimised for
that should only be run when no other task requires CPU time. non-interactive tasks. <literal>idle</literal> is for extremely
low-priority tasks that should only be run when no other task
requires CPU time.
Please note that while using the idle policy may greatly improve Please note that while using the <literal>idle</literal> policy may
responsiveness of a system performing expensive builds, it may also greatly improve responsiveness of a system performing expensive
slow down and potentially starve crucial configuration updates builds, it may also slow down and potentially starve crucial
during load. configuration updates during load.
<literal>idle</literal> may therefore be a sensible policy for
systems that experience only intermittent phases of high CPU load,
such as desktop or portable computers used interactively. Other
systems should use the <literal>other</literal> or
<literal>batch</literal> policy instead.
For more fine-grained resource control, please refer to
<citerefentry><refentrytitle>systemd.resource-control
</refentrytitle><manvolnum>5</manvolnum></citerefentry> and adjust
<option>systemd.services.nix-daemon</option> directly.
''; '';
}; };
@ -210,13 +223,20 @@ in
example = "idle"; example = "idle";
description = '' description = ''
Nix daemon process I/O scheduling class. This class propagates to Nix daemon process I/O scheduling class. This class propagates to
build processes. best-effort is the default class for regular tasks. build processes. <literal>best-effort</literal> is the default
The idle class is for extremely low-priority tasks that should only class for regular tasks. The <literal>idle</literal> class is for
perform I/O when no other task does. extremely low-priority tasks that should only perform I/O when no
other task does.
Please note that while using the idle scheduling class can improve Please note that while using the <literal>idle</literal> scheduling
responsiveness of a system performing expensive builds, it might also class can improve responsiveness of a system performing expensive
slow down or starve crucial configuration updates during load. builds, it might also slow down or starve crucial configuration
updates during load.
<literal>idle</literal> may therefore be a sensible class for
systems that experience only intermittent phases of high I/O load,
such as desktop or portable computers used interactively. Other
systems should use the <literal>best-effort</literal> class.
''; '';
}; };