/
memnotify.dot
85 lines (68 loc) · 1.6 KB
/
memnotify.dot
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
// -*- mode: c -*-
digraph modules_memnotify
{
fontsize=6;
ranksep=0.2;
nodesep=0.2;
edge[fontsize=6];
edge[arrowsize=0.4];
node[width=0.001]
node[height=0.001]
node[fontsize=6]
node[shape=box];
node[style=filled];
node[fillcolor=wheat];
compound = true;
/* - - - - - - - - - - - - - - - - - - - *
* data storage
* - - - - - - - - - - - - - - - - - - - */
node[fillcolor=wheat];
MN_DEV;
LIMITS;
STATUS;
LEVEL;
DBUS1[label=DBUS];
DBUS2[label=DBUS];
SETTINGS;
/* - - - - - - - - - - - - - - - - - - - *
* data process
* - - - - - - - - - - - - - - - - - - - */
node[fillcolor=yellow];
node[shape=oval];
KERNEL;
IOWATCH [label="handle\ninput\n"];
EVALUATE [label="evaluate\nlevel\n"];
BROADCAST [label="broadcast\nlevel\nchange\n"];
QUERY [label="handle\nlevel\nquery\n"];
NOTIFY[label="change\nslimits\n"];
GCONF;
/* - - - - - - - - - - - - - - - - - - - *
* data flow
* - - - - - - - - - - - - - - - - - - - */
node[fillcolor=pink];
node[shape=box];
KERNEL -> MN_DEV [dir=both];
MN_DEV -> IOWATCH [dir=both];
IOWATCH -> STATUS;
STATUS -> EVALUATE;
LIMITS -> EVALUATE;
EVALUATE -> LEVEL;
LEVEL -> BROADCAST;
QUERY -> DBUS2 [dir=both];
LEVEL -> QUERY;
SETTINGS -> NOTIFY;
NOTIFY -> LIMITS;
NOTIFY -> STATUS;
MN_DEV -> NOTIFY;
GCONF -> SETTINGS;
/* - - - - - - - - - - - - - - - - - - - *
* control flow
* - - - - - - - - - - - - - - - - - - - */
edge[style=dotted];
IOWATCH -> EVALUATE;
KERNEL -> IOWATCH;
EVALUATE -> BROADCAST;
BROADCAST -> DBUS1;
NOTIFY -> EVALUATE;
GCONF -> NOTIFY;
}