Change-Id: I097f40e2e674ad156c080db51bfefdee71c62cb7 Signed-off-by: Elisamara Aoki Gonçalves <elisamaraaoki.goncalves@windriver.com>
		
			
				
	
	
		
			107 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
			
		
		
	
	
			107 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
.. 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
 | 
						|
 | 
						|
Stalld can be configured with |eBPF| backend, reducing CPU usage on larger
 | 
						|
systems.
 | 
						|
 | 
						|
.. code-block:: none
 | 
						|
 | 
						|
    system host-label-assign <node> starlingx.io/stalld.backend=queue_track
 | 
						|
 | 
						|
 | 
						|
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=''`` |