| digraph state_automaton { |
| center = true; |
| size = "7,11"; |
| {node [shape = plaintext, style=invis, label=""] "__init_can_sched"}; |
| {node [shape = doublecircle] "can_sched"}; |
| {node [shape = circle] "can_sched"}; |
| {node [shape = circle] "cant_sched"}; |
| {node [shape = circle] "disable_to_switch"}; |
| {node [shape = circle] "enable_to_exit"}; |
| {node [shape = circle] "in_irq"}; |
| {node [shape = circle] "scheduling"}; |
| {node [shape = circle] "switching"}; |
| "__init_can_sched" -> "can_sched"; |
| "can_sched" [label = "can_sched", color = green3]; |
| "can_sched" -> "cant_sched" [ label = "irq_disable" ]; |
| "can_sched" -> "scheduling" [ label = "schedule_entry" ]; |
| "cant_sched" [label = "cant_sched"]; |
| "cant_sched" -> "can_sched" [ label = "irq_enable" ]; |
| "cant_sched" -> "cant_sched" [ label = "irq_entry" ]; |
| "disable_to_switch" [label = "disable_to_switch"]; |
| "disable_to_switch" -> "enable_to_exit" [ label = "irq_enable" ]; |
| "disable_to_switch" -> "in_irq" [ label = "irq_entry" ]; |
| "disable_to_switch" -> "switching" [ label = "sched_switch" ]; |
| "enable_to_exit" [label = "enable_to_exit"]; |
| "enable_to_exit" -> "can_sched" [ label = "schedule_exit" ]; |
| "enable_to_exit" -> "enable_to_exit" [ label = "irq_disable\nirq_entry\nirq_enable" ]; |
| "in_irq" [label = "in_irq"]; |
| "in_irq" -> "in_irq" [ label = "irq_entry" ]; |
| "in_irq" -> "scheduling" [ label = "irq_enable" ]; |
| "scheduling" [label = "scheduling"]; |
| "scheduling" -> "disable_to_switch" [ label = "irq_disable" ]; |
| "switching" [label = "switching"]; |
| "switching" -> "enable_to_exit" [ label = "irq_enable" ]; |
| { rank = min ; |
| "__init_can_sched"; |
| "can_sched"; |
| } |
| } |