1digraph state_automaton { 2 center = true; 3 size = "7,11"; 4 {node [shape = doublecircle] "any_thread_running"}; 5 {node [shape = circle] "any_thread_running"}; 6 {node [shape = circle] "nested_preempt"}; 7 {node [shape = plaintext, style=invis, label=""] "__init_preempt_irq"}; 8 {node [shape = circle] "preempt_irq"}; 9 {node [shape = circle] "rescheduling"}; 10 "__init_preempt_irq" -> "preempt_irq"; 11 "any_thread_running" [label = "any_thread_running", color = green3]; 12 "any_thread_running" -> "any_thread_running" [ label = "schedule_entry\nirq_entry" ]; 13 "any_thread_running" -> "rescheduling" [ label = "sched_need_resched" ]; 14 "nested_preempt" [label = "nested_preempt"]; 15 "nested_preempt" -> "any_thread_running" [ label = "schedule_entry_preempt\nschedule_entry" ]; 16 "nested_preempt" -> "nested_preempt" [ label = "irq_entry" ]; 17 "nested_preempt" -> "preempt_irq" [ label = "sched_need_resched" ]; 18 "preempt_irq" [label = "preempt_irq"]; 19 "preempt_irq" -> "nested_preempt" [ label = "schedule_entry_preempt\nschedule_entry" ]; 20 "preempt_irq" -> "preempt_irq" [ label = "irq_entry\nsched_need_resched" ]; 21 "rescheduling" [label = "rescheduling"]; 22 "rescheduling" -> "any_thread_running" [ label = "schedule_entry_preempt\nschedule_entry" ]; 23 "rescheduling" -> "preempt_irq" [ label = "irq_entry" ]; 24 "rescheduling" -> "rescheduling" [ label = "sched_need_resched" ]; 25 { rank = min ; 26 "__init_preempt_irq"; 27 "preempt_irq"; 28 } 29} 30