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