1digraph state_automaton { 2 center = true; 3 size = "7,11"; 4 {node [shape = plaintext, style=invis, label=""] "__init_can_sched"}; 5 {node [shape = doublecircle] "can_sched"}; 6 {node [shape = circle] "can_sched"}; 7 {node [shape = circle] "cant_sched"}; 8 {node [shape = circle] "disable_to_switch"}; 9 {node [shape = circle] "enable_to_exit"}; 10 {node [shape = circle] "in_irq"}; 11 {node [shape = circle] "scheduling"}; 12 {node [shape = circle] "switching"}; 13 "__init_can_sched" -> "can_sched"; 14 "can_sched" [label = "can_sched", color = green3]; 15 "can_sched" -> "cant_sched" [ label = "irq_disable" ]; 16 "can_sched" -> "scheduling" [ label = "schedule_entry" ]; 17 "cant_sched" [label = "cant_sched"]; 18 "cant_sched" -> "can_sched" [ label = "irq_enable" ]; 19 "cant_sched" -> "cant_sched" [ label = "irq_entry" ]; 20 "disable_to_switch" [label = "disable_to_switch"]; 21 "disable_to_switch" -> "enable_to_exit" [ label = "irq_enable" ]; 22 "disable_to_switch" -> "in_irq" [ label = "irq_entry" ]; 23 "disable_to_switch" -> "switching" [ label = "sched_switch" ]; 24 "enable_to_exit" [label = "enable_to_exit"]; 25 "enable_to_exit" -> "can_sched" [ label = "schedule_exit" ]; 26 "enable_to_exit" -> "enable_to_exit" [ label = "irq_disable\nirq_entry\nirq_enable" ]; 27 "in_irq" [label = "in_irq"]; 28 "in_irq" -> "in_irq" [ label = "irq_entry" ]; 29 "in_irq" -> "scheduling" [ label = "irq_enable" ]; 30 "scheduling" [label = "scheduling"]; 31 "scheduling" -> "disable_to_switch" [ label = "irq_disable" ]; 32 "switching" [label = "switching"]; 33 "switching" -> "enable_to_exit" [ label = "irq_enable" ]; 34 { rank = min ; 35 "__init_can_sched"; 36 "can_sched"; 37 } 38} 39