mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2026-05-09 21:42:09 +02:00
13578a0871
Add a sample monitor to showcase hybrid/timed automata. The stall monitor identifies tasks stalled for longer than a threshold and reacts when that happens. Reviewed-by: Nam Cao <namcao@linutronix.de> Link: https://lore.kernel.org/r/20260330111010.153663-7-gmonaco@redhat.com Signed-off-by: Gabriele Monaco <gmonaco@redhat.com>
23 lines
849 B
Plaintext
23 lines
849 B
Plaintext
digraph state_automaton {
|
|
center = true;
|
|
size = "7,11";
|
|
{node [shape = circle] "enqueued"};
|
|
{node [shape = plaintext, style=invis, label=""] "__init_dequeued"};
|
|
{node [shape = doublecircle] "dequeued"};
|
|
{node [shape = circle] "running"};
|
|
"__init_dequeued" -> "dequeued";
|
|
"enqueued" [label = "enqueued\nclk < threshold_jiffies"];
|
|
"running" [label = "running"];
|
|
"dequeued" [label = "dequeued", color = green3];
|
|
"running" -> "running" [ label = "sched_switch_in\nsched_wakeup" ];
|
|
"enqueued" -> "enqueued" [ label = "sched_wakeup" ];
|
|
"enqueued" -> "running" [ label = "sched_switch_in" ];
|
|
"running" -> "dequeued" [ label = "sched_switch_wait" ];
|
|
"dequeued" -> "enqueued" [ label = "sched_wakeup;reset(clk)" ];
|
|
"running" -> "enqueued" [ label = "sched_switch_preempt;reset(clk)" ];
|
|
{ rank = min ;
|
|
"__init_dequeued";
|
|
"dequeued";
|
|
}
|
|
}
|