Documentation / trace / rv / monitor_stall.rst


Based on kernel version 7.2. Page generated on 2026-08-20 08:41 EST.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
Monitor stall
=============

- Name: stall - stalled task monitor
- Type: per-task hybrid automaton
- Author: Gabriele Monaco <gmonaco@redhat.com>

Description
-----------

The stalled task (stall) monitor is a sample per-task timed monitor that checks
if tasks are scheduled within a defined threshold after they are ready::

                        |
                        |
                        v
                      #==========================#
  +-----------------> H         dequeued         H
  |                   #==========================#
  |                     |
 sched_switch_wait      | sched_wakeup;reset(clk)
  |                     v
  |                   +--------------------------+ <+
  |                   |         enqueued         |  | sched_wakeup
  |                   | clk < threshold_jiffies  | -+
  |                   +--------------------------+
  |                     |                 ^
  |              sched_switch_in    sched_switch_preempt;reset(clk)
  |                     v                 |
  |                   +--------------------------+
  +------------------ |         running          |
                      +--------------------------+
                        ^ sched_switch_in      |
                        | sched_wakeup         |
                        +----------------------+

The threshold can be configured as a parameter by either booting with the
``stall.threshold_jiffies=<new value>`` argument or writing a new value to
``/sys/module/stall/parameters/threshold_jiffies``.

Specification
-------------
Graphviz Dot file in tools/verification/models/stall.dot