xref: /linux/Documentation/trace/rv/monitor_stall.rst (revision 0fc8f6200d2313278fbf4539bbab74677c685531)
1Monitor stall
2=============
3
4- Name: stall - stalled task monitor
5- Type: per-task hybrid automaton
6- Author: Gabriele Monaco <gmonaco@redhat.com>
7
8Description
9-----------
10
11The stalled task (stall) monitor is a sample per-task timed monitor that checks
12if tasks are scheduled within a defined threshold after they are ready::
13
14                        |
15                        |
16                        v
17                      #==========================#
18  +-----------------> H         dequeued         H
19  |                   #==========================#
20  |                     |
21 sched_switch_wait      | sched_wakeup;reset(clk)
22  |                     v
23  |                   +--------------------------+ <+
24  |                   |         enqueued         |  | sched_wakeup
25  |                   | clk < threshold_jiffies  | -+
26  |                   +--------------------------+
27  |                     |                 ^
28  |              sched_switch_in    sched_switch_preempt;reset(clk)
29  |                     v                 |
30  |                   +--------------------------+
31  +------------------ |         running          |
32                      +--------------------------+
33                        ^ sched_switch_in      |
34                        | sched_wakeup         |
35                        +----------------------+
36
37The threshold can be configured as a parameter by either booting with the
38``stall.threshold_jiffies=<new value>`` argument or writing a new value to
39``/sys/module/stall/parameters/threshold_jiffies``.
40
41Specification
42-------------
43Graphviz Dot file in tools/verification/models/stall.dot
44