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