xref: /linux/tools/verification/models/sched/sssw.dot (revision 4ff261e725d7376c12e745fdbe8a33cd6dbd5a83)
1digraph state_automaton {
2	center = true;
3	size = "7,11";
4	{node [shape = plaintext, style=invis, label=""] "__init_runnable"};
5	{node [shape = doublecircle] "runnable"};
6	{node [shape = circle] "runnable"};
7	{node [shape = circle] "signal_wakeup"};
8	{node [shape = circle] "sleepable"};
9	{node [shape = circle] "sleeping"};
10	"__init_runnable" -> "runnable";
11	"runnable" [label = "runnable", color = green3];
12	"runnable" -> "runnable" [ label = "sched_set_state_runnable\nsched_wakeup\nsched_switch_in\nsched_switch_yield\nsched_switch_preempt\nsignal_deliver" ];
13	"runnable" -> "sleepable" [ label = "sched_set_state_sleepable" ];
14	"runnable" -> "sleeping" [ label = "sched_switch_blocking" ];
15	"signal_wakeup" [label = "signal_wakeup"];
16	"signal_wakeup" -> "runnable" [ label = "signal_deliver" ];
17	"signal_wakeup" -> "signal_wakeup" [ label = "sched_switch_in\nsched_switch_preempt\nsched_switch_yield\nsched_wakeup" ];
18	"signal_wakeup" -> "sleepable" [ label = "sched_set_state_sleepable" ];
19	"sleepable" [label = "sleepable"];
20	"sleepable" -> "runnable" [ label = "sched_set_state_runnable\nsched_wakeup" ];
21	"sleepable" -> "signal_wakeup" [ label = "sched_switch_yield" ];
22	"sleepable" -> "sleepable" [ label = "sched_set_state_sleepable\nsched_switch_in\nsched_switch_preempt\nsignal_deliver" ];
23	"sleepable" -> "sleeping" [ label = "sched_switch_suspend\nsched_switch_blocking" ];
24	"sleeping" [label = "sleeping"];
25	"sleeping" -> "runnable" [ label = "sched_wakeup" ];
26	{ rank = min ;
27		"__init_runnable";
28		"runnable";
29	}
30}
31