Merge "Enable stalld to protect low-priority tasks from starvation (dsR10)"
This commit is contained in:
@@ -0,0 +1,99 @@
|
|||||||
|
.. WARNING: Add no lines of text between the label immediately following
|
||||||
|
.. and the title.
|
||||||
|
|
||||||
|
.. _configure-stall-daemon-b38ece463e88:
|
||||||
|
|
||||||
|
======================
|
||||||
|
Configure stall daemon
|
||||||
|
======================
|
||||||
|
|
||||||
|
Stalld (stall daemon) is a program that monitors threads to protect critical
|
||||||
|
but low-scheduling-priority tasks from starvation. It is configured using
|
||||||
|
host-labels.
|
||||||
|
|
||||||
|
The supported host-labels are:
|
||||||
|
|
||||||
|
- ``starlingx.io/stalld``
|
||||||
|
|
||||||
|
supported values are: “enabled”, “disabled”
|
||||||
|
|
||||||
|
- ``starlingx.io/stalld_cpu_functions``
|
||||||
|
|
||||||
|
supported values are: “all”, “application”, “application-isolated”
|
||||||
|
|
||||||
|
Custom stalld labels are supported.
|
||||||
|
|
||||||
|
To enable stalld, run:
|
||||||
|
|
||||||
|
.. code-block:: none
|
||||||
|
|
||||||
|
system host-label-assign <host> starlingx.io/stalld=enabled
|
||||||
|
|
||||||
|
To disable stalld, run:
|
||||||
|
|
||||||
|
.. code-block:: none
|
||||||
|
|
||||||
|
system host-label-assign <host> starlingx.io/stalld=disabled
|
||||||
|
|
||||||
|
or
|
||||||
|
|
||||||
|
.. code-block:: none
|
||||||
|
|
||||||
|
system host-label-remove <host> starlingx.io/stalld
|
||||||
|
|
||||||
|
Configure CPUs being monitored by Stalld
|
||||||
|
----------------------------------------
|
||||||
|
|
||||||
|
To have stalld monitor all CPUs.
|
||||||
|
|
||||||
|
.. code-block:: none
|
||||||
|
|
||||||
|
system host-label-assign <host> starlingx.io/stalld_cpu_functions=all
|
||||||
|
|
||||||
|
To have stalld monitor all application CPUs.
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
This also includes application-isolated CPUs.
|
||||||
|
|
||||||
|
.. code-block:: none
|
||||||
|
|
||||||
|
system host-label-assign <host> starlingx.io/stalld_cpu_functions=application
|
||||||
|
|
||||||
|
To have stalld monitor only application-isolated CPUs.
|
||||||
|
|
||||||
|
.. code-block:: none
|
||||||
|
|
||||||
|
system host-label-assign <host> starlingx.io/stalld_cpu_functions=application-isolated
|
||||||
|
|
||||||
|
Configure Custom Stalld Parameters
|
||||||
|
----------------------------------
|
||||||
|
|
||||||
|
You can specify custom parameters that are passed as startup arguments to
|
||||||
|
stalld. The parameters are specified in the following format:
|
||||||
|
|
||||||
|
``system host-label assign <node> starlingx.io/stalld.xxxx=yyyy``
|
||||||
|
|
||||||
|
which becomes ``stalld --xxxx=yyyy``
|
||||||
|
|
||||||
|
``system host-label assign <node> starlingx.io/stalld.zzzz=''``
|
||||||
|
|
||||||
|
which becomes ``stalld --zzzz``
|
||||||
|
|
||||||
|
Some examples:
|
||||||
|
|
||||||
|
``system host-label assign controller-0``
|
||||||
|
|
||||||
|
``starlingx.io/stalld.boost_period=1000000000``
|
||||||
|
|
||||||
|
``starlingx.io/stalld.boost_runtime=20000``
|
||||||
|
|
||||||
|
``starlingx.io/stalld.boost_duration=1``
|
||||||
|
|
||||||
|
``starlingx.io/stalld.starving_threshold=2``
|
||||||
|
|
||||||
|
``starlingx.io/stalld.verbose=''``
|
||||||
|
|
||||||
|
``starlings.io/stalld.log_kmsg=''``
|
||||||
|
|
||||||
|
``starlingx.io/stalld.force_fifo=''``
|
@@ -223,4 +223,13 @@ Disable SCTP Autoload in the Kernel
|
|||||||
.. toctree::
|
.. toctree::
|
||||||
:maxdepth: 1
|
:maxdepth: 1
|
||||||
|
|
||||||
disable-sctp-autoload-in-the-kernel-e16de9f1204f
|
disable-sctp-autoload-in-the-kernel-e16de9f1204f
|
||||||
|
|
||||||
|
----------------------
|
||||||
|
Configure stall daemon
|
||||||
|
----------------------
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 1
|
||||||
|
|
||||||
|
configure-stall-daemon-b38ece463e88
|
Reference in New Issue
Block a user