| digraph state_automaton { |
| center = true; |
| size = "7,11"; |
| {node [shape = circle] "idle"}; |
| {node [shape = plaintext, style=invis, label=""] "__init_ready"}; |
| {node [shape = doublecircle] "ready"}; |
| {node [shape = circle] "ready"}; |
| {node [shape = circle] "running"}; |
| {node [shape = circle] "sleeping"}; |
| {node [shape = circle] "throttled"}; |
| "__init_ready" -> "ready"; |
| "idle" [label = "idle"]; |
| "idle" -> "idle" [ label = "dl_server_idle" ]; |
| "idle" -> "ready" [ label = "dl_replenish;reset(clk)" ]; |
| "idle" -> "running" [ label = "sched_switch_in" ]; |
| "idle" -> "sleeping" [ label = "dl_server_stop" ]; |
| "idle" -> "throttled" [ label = "dl_throttle" ]; |
| "ready" [label = "ready\nclk < DEADLINE_NS()", color = green3]; |
| "ready" -> "idle" [ label = "dl_server_idle" ]; |
| "ready" -> "ready" [ label = "sched_wakeup\ndl_replenish;reset(clk)" ]; |
| "ready" -> "running" [ label = "sched_switch_in" ]; |
| "ready" -> "sleeping" [ label = "dl_server_stop" ]; |
| "ready" -> "throttled" [ label = "dl_throttle;is_defer == 1" ]; |
| "running" [label = "running\nclk < DEADLINE_NS()"]; |
| "running" -> "idle" [ label = "dl_server_idle" ]; |
| "running" -> "running" [ label = "dl_replenish;reset(clk)\nsched_switch_in\nsched_wakeup" ]; |
| "running" -> "sleeping" [ label = "sched_switch_suspend\ndl_server_stop" ]; |
| "running" -> "throttled" [ label = "dl_throttle" ]; |
| "sleeping" [label = "sleeping"]; |
| "sleeping" -> "ready" [ label = "sched_wakeup\ndl_replenish;reset(clk)" ]; |
| "sleeping" -> "running" [ label = "sched_switch_in" ]; |
| "sleeping" -> "sleeping" [ label = "dl_server_stop\ndl_server_idle" ]; |
| "sleeping" -> "throttled" [ label = "dl_throttle;is_constr_dl == 1 || is_defer == 1" ]; |
| "throttled" [label = "throttled"]; |
| "throttled" -> "ready" [ label = "dl_replenish;reset(clk)" ]; |
| "throttled" -> "throttled" [ label = "sched_switch_suspend\nsched_wakeup\ndl_server_idle\ndl_throttle" ]; |
| { rank = min ; |
| "__init_ready"; |
| "ready"; |
| } |
| } |