| 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 |