Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
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}