mirror of
https://github.com/torvalds/linux.git
synced 2026-05-12 16:18:45 +02:00
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";
|
|
}
|
|
}
|