1STALLD(8) System Manager's Manual STALLD(8)
2
3
4
6 stalld - detect starving threads and boost them
7
9 stalld [ -l ] [ -v ] [ -k ] [ -s ] [ -f ] [ -h ] [ -c cpu-list] [ -p
10 time-in-ns ] [ -r time-in-ns ] [ -d time-in-sec ] [ -t time-in-sec ] [
11 -i regexes-of-thread-names ] [ -I regexes-of-process-names ]
12
13
15 stalld is a system daemon that monitors thread for the starvation con‐
16 dition. Starvation occurs when a thread sits on a cpu run-queue for
17 longer than the starvation-threshold, meaning the thread has not been
18 allowed to run for threshold seconds. The thread is boosted using the
19 SCHED_DEADLINE policy and given a time period to run. Once it uses this
20 boost period, the thread is returned to its original scheduling policy.
21
22
24 -t|--starving_threshold
25 how long (in seconds) a thread must starve before being boosted
26 [60 s]
27
28 -p|--boost_period
29 SCHED_DEADLINE period in nanoseconds for a starving thread
30 [1000000000 ns]
31
32 -r|--boost_runtime
33 SCHED_DEADLINE runtime in nanoseconds for a starving thread
34 [20000 ns]
35
36 -d|--boost_duration
37 duration in seconds the starving thread will run [ 3 s]
38
39 -F|--force_fifo
40 force using SCHED_FIFO for boosting
41
42 -l|--log_only
43 only log information, do no boosting [false]
44
45 -v|--verbose
46 print action informtion to stdout [false]
47
48 -k|--log_kmsg
49 log information to the kernel buffer [false]
50
51 -s|--log_syslog
52 print information to syslog [true]
53
54 -f|--foreground
55 run in the foreground [false (true with -v)]
56
57 -P|--pidfile
58 write dameon pid to specified file [none]
59
60 -A|--aggressive_mode
61 dispatch one thread per cpu run-queue, even if thre are no
62 starving threads (uses more power). [false]
63
64 -O|--power_mode
65 run as a single threaded program, it consumes less CPU, at the
66 price of less precision/granularity. [false]
67
68 -M|--adaptive_mode
69 when a CPU shows threads starving for more than half of the
70 starving_threshold time, dispatch a specialized thread to moni‐
71 tor it. [false]
72
73 -g|--granularity
74 set the granularity (in seconds) at which stalld checks for
75 starving threads. The lower the value the more precise will be
76 the detection, at the price of consuming more CPU time. [5 sec‐
77 onds]
78
79 -i|--ignore_threads
80 regexes (comma-separated) of thread names that must be ignored
81 from being boosted
82
83 -I|--ignore_processes
84 regexes (comma-separated) of process names that must be ignored
85 from being boosted
86
87 -h|--help
88 print options
89
91 /etc/systemd/stalld.conf
92 parameter file for systemd startup
93 /usr/lib/systemd/system/stalld.service
94 systemd unit file
95 /usr/bin/stalld stalld executable
97 none
99 Daniel Bristot de Oliveira (bristot@redhat.com) Juri Lelli
100 (juri.lelli@redhat.com)
101
102
103
104 STALLD(8)