Merge "Enable stalld to protect low-priority tasks from starvation (dsR10)"

This commit is contained in:
Zuul
2025-06-02 17:54:55 +00:00
committed by Gerrit Code Review
2 changed files with 109 additions and 1 deletions

View File

@@ -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=''``

View File

@@ -223,4 +223,13 @@ Disable SCTP Autoload in the Kernel
.. toctree::
: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