diff --git a/doc/source/system_configuration/kubernetes/configure-stall-daemon-b38ece463e88.rst b/doc/source/system_configuration/kubernetes/configure-stall-daemon-b38ece463e88.rst new file mode 100644 index 000000000..54bc811b7 --- /dev/null +++ b/doc/source/system_configuration/kubernetes/configure-stall-daemon-b38ece463e88.rst @@ -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 starlingx.io/stalld=enabled + +To disable stalld, run: + +.. code-block:: none + + system host-label-assign starlingx.io/stalld=disabled + +or + +.. code-block:: none + + system host-label-remove starlingx.io/stalld + +Configure CPUs being monitored by Stalld +---------------------------------------- + +To have stalld monitor all CPUs. + +.. code-block:: none + + system host-label-assign 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 starlingx.io/stalld_cpu_functions=application + +To have stalld monitor only application-isolated CPUs. + +.. code-block:: none + + system host-label-assign 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 starlingx.io/stalld.xxxx=yyyy`` + +which becomes ``stalld --xxxx=yyyy`` + +``system host-label assign 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=''`` \ No newline at end of file diff --git a/doc/source/system_configuration/kubernetes/index-sysconf-kub-78f0e1e9ca5a.rst b/doc/source/system_configuration/kubernetes/index-sysconf-kub-78f0e1e9ca5a.rst index 2afdb44ce..3b0ba2a08 100644 --- a/doc/source/system_configuration/kubernetes/index-sysconf-kub-78f0e1e9ca5a.rst +++ b/doc/source/system_configuration/kubernetes/index-sysconf-kub-78f0e1e9ca5a.rst @@ -223,4 +223,13 @@ Disable SCTP Autoload in the Kernel .. toctree:: :maxdepth: 1 - disable-sctp-autoload-in-the-kernel-e16de9f1204f \ No newline at end of file + disable-sctp-autoload-in-the-kernel-e16de9f1204f + +---------------------- +Configure stall daemon +---------------------- + +.. toctree:: + :maxdepth: 1 + + configure-stall-daemon-b38ece463e88 \ No newline at end of file