stalld - Man Page

detect starving threads and boost them

Synopsis

stalld [ -l ] [ -v ] [ -k ] [ -s ] [ -f ] [ -h ] [ -c cpu-list] [ -p time-in-ns ] [ -r time-in-ns ] [ -d time-in-sec ] [ -t time-in-sec ]

Description

stalld is a system daemon that monitors thread for the starvation condition. Starvation occurs when a thread sits on a cpu run-queue for longer than the starvation-threshold, meaning the thread has not been allowed to run for threshold seconds. The thread is boosted using the SCHED_DEADLINE policy and given a time period to run. Once it uses this boost period, the thread is returned to its original scheduling policy.

Options

-t|--starving_threshold

how long (in seconds) a thread must starve before being boosted [60 s]

-p|--boost_period

SCHED_DEADLINE period in nanoseconds for a starving thread [1000000000 ns]

-r|--boost_runtime

SCHED_DEADLINE runtime in nanoseconds for a starving thread [20000 ns]

-d|--boost_duration

duration in seconds the starving thread will run [ 3 s]

-F|--force_fifo

force using SCHED_FIFO for boosting

-l|--log_only

only log information, do no boosting [false]

-v|--verbose

print action informtion to stdout [false]

-k|--log_kmsg

log information to the kernel buffer [false]

-s|--log_syslog

print information to syslog [true]

-f|--foreground

run in the foreground [false (true with -v)]

-P|--pidfile

write dameon pid to specified file [none]

-A|--aggressive_mode

dispatch one thread per cpu run-queue, even if thre are no starving threads (uses more power). [false]

-O|--power_mode

run as a single threaded program, it consumes less CPU, at the price of less precision/granularity. [false]

-g|--granularity

set the granularity (in seconds) at which stalld checks for starving threads. The lower the value the more precise will be the detection, at the price of consuming more CPU time. [5 seconds]

-h|--help

print options

Files

/etc/systemd/stalld.conf

parameter file for systemd startup

/usr/lib/systemd/system/stalld.service

systemd unit file

/usr/bin/stalld

stalld executable

Bugs

none

Author

Daniel Bristot de Oliveira (bristot@redhat.com) Juri Lelli (juri.lelli@redhat.com)