xref: /linux/tools/verification/models/deadline/nomiss.dot (revision fdbfee9fc56e13a1307868829d438ad66ab308a4)
1digraph state_automaton {
2	center = true;
3	size = "7,11";
4	{node [shape = circle] "idle"};
5	{node [shape = plaintext, style=invis, label=""] "__init_ready"};
6	{node [shape = doublecircle] "ready"};
7	{node [shape = circle] "ready"};
8	{node [shape = circle] "running"};
9	{node [shape = circle] "sleeping"};
10	{node [shape = circle] "throttled"};
11	"__init_ready" -> "ready";
12	"idle" [label = "idle"];
13	"idle" -> "idle" [ label = "dl_server_idle" ];
14	"idle" -> "ready" [ label = "dl_replenish;reset(clk)" ];
15	"idle" -> "running" [ label = "sched_switch_in" ];
16	"idle" -> "sleeping" [ label = "dl_server_stop" ];
17	"idle" -> "throttled" [ label = "dl_throttle" ];
18	"ready" [label = "ready\nclk < DEADLINE_NS()", color = green3];
19	"ready" -> "idle" [ label = "dl_server_idle" ];
20	"ready" -> "ready" [ label = "sched_wakeup\ndl_replenish;reset(clk)" ];
21	"ready" -> "running" [ label = "sched_switch_in" ];
22	"ready" -> "sleeping" [ label = "dl_server_stop" ];
23	"ready" -> "throttled" [ label = "dl_throttle;is_defer == 1" ];
24	"running" [label = "running\nclk < DEADLINE_NS()"];
25	"running" -> "idle" [ label = "dl_server_idle" ];
26	"running" -> "running" [ label = "dl_replenish;reset(clk)\nsched_switch_in\nsched_wakeup" ];
27	"running" -> "sleeping" [ label = "sched_switch_suspend\ndl_server_stop" ];
28	"running" -> "throttled" [ label = "dl_throttle" ];
29	"sleeping" [label = "sleeping"];
30	"sleeping" -> "ready" [ label = "sched_wakeup\ndl_replenish;reset(clk)" ];
31	"sleeping" -> "running" [ label = "sched_switch_in" ];
32	"sleeping" -> "sleeping" [ label = "dl_server_stop\ndl_server_idle" ];
33	"sleeping" -> "throttled" [ label = "dl_throttle;is_constr_dl == 1 || is_defer == 1" ];
34	"throttled" [label = "throttled"];
35	"throttled" -> "ready" [ label = "dl_replenish;reset(clk)" ];
36	"throttled" -> "throttled" [ label = "sched_switch_suspend\nsched_wakeup\ndl_server_idle\ndl_throttle" ];
37	{ rank = min ;
38		"__init_ready";
39		"ready";
40	}
41}
42