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:
system host-label-assign <host> starlingx.io/stalld=enabled
To disable stalld, run:
system host-label-assign <host> starlingx.io/stalld=disabled
or
system host-label-remove <host> starlingx.io/stalld
Configure CPUs being monitored by Stalld¶
To have stalld monitor all CPUs.
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.
system host-label-assign <host> starlingx.io/stalld_cpu_functions=application
To have stalld monitor only application-isolated CPUs.
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=''