Skip to content

Commit 5ccb94d

Browse files
committed
First Production version
The user-level tool now includes benchmarking options: actions on a group can be specified inside "config.ini". This file can be also used for fuzzing purpose (e.g. AFL) Updated udev rule and code to put group's device file inside the "synch" subdirectory. Improved Doxygen documentation (inside docs/)
1 parent 6b97f8f commit 5ccb94d

File tree

254 files changed

+10219
-1217
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

254 files changed

+10219
-1217
lines changed

.gitignore

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,3 +123,11 @@ dkms.conf
123123
.vscode/
124124

125125
tool/tool
126+
127+
tool/perf.data.old
128+
129+
*.perf
130+
131+
*.data
132+
133+
warns.txt

Doxyfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -829,7 +829,7 @@ WARN_LOGFILE =
829829
# spaces. See also FILE_PATTERNS and EXTENSION_MAPPING
830830
# Note: If this tag is empty the current directory is searched.
831831

832-
INPUT = src/
832+
INPUT = main_docs.dox src/ tool/
833833

834834
# This tag can be used to specify the character encoding of the source files
835835
# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses

docs/html/annotated.html

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -68,17 +68,20 @@
6868
<div class="contents">
6969
<div class="textblock">Here are the data structures with brief descriptions:</div><div class="directory">
7070
<table class="directory">
71-
<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d2/d86/structgroup__data.html" target="_self">group_data</a></td><td class="desc">Group device data structure </td></tr>
72-
<tr id="row_1_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d3/df9/structgroup__flags__t.html" target="_self">group_flags_t</a></td><td class="desc">Contains the various flags that represent the status of the module </td></tr>
73-
<tr id="row_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d2/dc2/structgroup__t.html" target="_self">group_t</a></td><td class="desc">System-wide descriptor of a group </td></tr>
74-
<tr id="row_3_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d3/d75/structt__message__manager.html" target="_self">msg_manager_t</a></td><td class="desc">Manage the message sub-system </td></tr>
75-
<tr id="row_4_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="de/d78/structt__message.html" target="_self">msg_t</a></td><td class="desc">Basic structure to represent a message </td></tr>
76-
<tr id="row_5_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d0/de0/structt__garbage__collector.html" target="_self">t_garbage_collector</a></td><td class="desc">Garbage Collector structure </td></tr>
77-
<tr id="row_6_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d4/d00/structt__group__members.html" target="_self">t_group_members</a></td><td class="desc">Threads that are members of the group device </td></tr>
78-
<tr id="row_7_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="db/d84/structt__group__sysfs.html" target="_self">t_group_sysfs</a></td><td class="desc">Contains all the 'sysfs' attrubutes and the group's kobject </td></tr>
79-
<tr id="row_8_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="db/dc1/structt__main__sync.html" target="_self">t_main_sync</a></td><td class="desc">Main device structure </td></tr>
80-
<tr id="row_9_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d6/d20/structt__message__delayed__deliver.html" target="_self">t_message_delayed_deliver</a></td><td class="desc">Contains a 'msg_t' structure and the timer needed to delay the delivery </td></tr>
81-
<tr id="row_10_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="df/d34/structt__message__deliver.html" target="_self">t_message_deliver</a></td><td class="desc">Contains a 'msg_t' structure and the relative delivery info </td></tr>
71+
<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d8/d3f/structconfiguration.html" target="_self">configuration</a></td><td class="desc"></td></tr>
72+
<tr id="row_1_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d2/d86/structgroup__data.html" target="_self">group_data</a></td><td class="desc">Group device data structure </td></tr>
73+
<tr id="row_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d3/df9/structgroup__flags__t.html" target="_self">group_flags_t</a></td><td class="desc">Contains the various flags that represent the status of the module </td></tr>
74+
<tr id="row_3_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d2/dc2/structgroup__t.html" target="_self">group_t</a></td><td class="desc">System-wide descriptor of a group </td></tr>
75+
<tr id="row_4_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d3/d75/structt__message__manager.html" target="_self">msg_manager_t</a></td><td class="desc">Manage the message sub-system </td></tr>
76+
<tr id="row_5_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="de/d78/structt__message.html" target="_self">msg_t</a></td><td class="desc">Basic structure to represent a message </td></tr>
77+
<tr id="row_6_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d0/de0/structt__garbage__collector.html" target="_self">t_garbage_collector</a></td><td class="desc">Garbage Collector structure </td></tr>
78+
<tr id="row_7_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d4/d00/structt__group__members.html" target="_self">t_group_members</a></td><td class="desc">Threads that are members of the group device </td></tr>
79+
<tr id="row_8_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="db/d84/structt__group__sysfs.html" target="_self">t_group_sysfs</a></td><td class="desc">Contains all the 'sysfs' attrubutes and the group's kobject </td></tr>
80+
<tr id="row_9_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="db/dc1/structt__main__sync.html" target="_self">t_main_sync</a></td><td class="desc">Main device structure </td></tr>
81+
<tr id="row_10_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d6/d20/structt__message__delayed__deliver.html" target="_self">t_message_delayed_deliver</a></td><td class="desc">Contains a 'msg_t' structure and the timer needed to delay the delivery </td></tr>
82+
<tr id="row_11_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="df/d34/structt__message__deliver.html" target="_self">t_message_deliver</a></td><td class="desc">Contains a 'msg_t' structure and the relative delivery info </td></tr>
83+
<tr id="row_12_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="db/d82/structT__THREAD__GROUP.html" target="_self">T_THREAD_GROUP</a></td><td class="desc">User-level handler of a group </td></tr>
84+
<tr id="row_13_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d9/dbf/structT__THREAD__SYNCH.html" target="_self">T_THREAD_SYNCH</a></td><td class="desc">User-level handler of the thread-synch main device </td></tr>
8285
</table>
8386
</div><!-- directory -->
8487
</div><!-- contents -->

docs/html/classes.html

Lines changed: 21 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -66,32 +66,39 @@
6666
<div class="title">Data Structure Index</div> </div>
6767
</div><!--header-->
6868
<div class="contents">
69-
<div class="qindex"><a class="qindex" href="#letter_g">g</a>&#160;|&#160;<a class="qindex" href="#letter_m">m</a>&#160;|&#160;<a class="qindex" href="#letter_t">t</a></div>
69+
<div class="qindex"><a class="qindex" href="#letter_c">c</a>&#160;|&#160;<a class="qindex" href="#letter_g">g</a>&#160;|&#160;<a class="qindex" href="#letter_m">m</a>&#160;|&#160;<a class="qindex" href="#letter_t">t</a></div>
7070
<table class="classindex">
71-
<tr><td rowspan="2" valign="bottom"><a name="letter_g"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;g&#160;&#160;</div></td></tr></table>
71+
<tr><td rowspan="2" valign="bottom"><a name="letter_c"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;c&#160;&#160;</div></td></tr></table>
7272
</td>
73-
<td valign="top"><a class="el" href="d2/dc2/structgroup__t.html">group_t</a>&#160;&#160;&#160;</td>
73+
<td valign="top"><a class="el" href="d3/df9/structgroup__flags__t.html">group_flags_t</a>&#160;&#160;&#160;</td>
7474
<td valign="top"><a class="el" href="de/d78/structt__message.html">t_message</a>&#160;&#160;&#160;</td>
75-
<td valign="top"><a class="el" href="d4/d00/structt__group__members.html">t_group_members</a>&#160;&#160;&#160;</td>
76-
<td valign="top"><a class="el" href="df/d34/structt__message__deliver.html">t_message_deliver</a>&#160;&#160;&#160;</td>
75+
<td valign="top"><a class="el" href="db/d84/structt__group__sysfs.html">t_group_sysfs</a>&#160;&#160;&#160;</td>
76+
<td valign="top"><a class="el" href="d9/dbf/structT__THREAD__SYNCH.html">T_THREAD_SYNCH</a>&#160;&#160;&#160;</td>
7777
</tr>
78-
<tr><td rowspan="2" valign="bottom"><a name="letter_m"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;m&#160;&#160;</div></td></tr></table>
79-
</td>
78+
<tr><td valign="top"><a class="el" href="d2/dc2/structgroup__t.html">group_t</a>&#160;&#160;&#160;</td>
8079
<td rowspan="2" valign="bottom"><a name="letter_t"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;t&#160;&#160;</div></td></tr></table>
8180
</td>
82-
<td valign="top"><a class="el" href="db/d84/structt__group__sysfs.html">t_group_sysfs</a>&#160;&#160;&#160;</td>
83-
<td></td></tr>
84-
<tr><td valign="top"><a class="el" href="d2/d86/structgroup__data.html">group_data</a>&#160;&#160;&#160;</td>
8581
<td valign="top"><a class="el" href="db/dc1/structt__main__sync.html">t_main_sync</a>&#160;&#160;&#160;</td>
8682
<td></td></tr>
87-
<tr><td valign="top"><a class="el" href="d3/df9/structgroup__flags__t.html">group_flags_t</a>&#160;&#160;&#160;</td>
88-
<td valign="top"><a class="el" href="d3/d75/structt__message__manager.html">t_message_manager</a>&#160;&#160;&#160;</td>
89-
<td valign="top"><a class="el" href="d0/de0/structt__garbage__collector.html">t_garbage_collector</a>&#160;&#160;&#160;</td>
83+
<tr><td valign="top"><a class="el" href="d8/d3f/structconfiguration.html">configuration</a>&#160;&#160;&#160;</td>
84+
<td rowspan="2" valign="bottom"><a name="letter_m"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;m&#160;&#160;</div></td></tr></table>
85+
</td>
9086
<td valign="top"><a class="el" href="d6/d20/structt__message__delayed__deliver.html">t_message_delayed_deliver</a>&#160;&#160;&#160;</td>
9187
<td></td></tr>
88+
<tr><td rowspan="2" valign="bottom"><a name="letter_g"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;g&#160;&#160;</div></td></tr></table>
89+
</td>
90+
<td valign="top"><a class="el" href="d0/de0/structt__garbage__collector.html">t_garbage_collector</a>&#160;&#160;&#160;</td>
91+
<td valign="top"><a class="el" href="df/d34/structt__message__deliver.html">t_message_deliver</a>&#160;&#160;&#160;</td>
92+
<td></td></tr>
93+
<tr><td valign="top"><a class="el" href="d3/d75/structt__message__manager.html">t_message_manager</a>&#160;&#160;&#160;</td>
94+
<td valign="top"><a class="el" href="d4/d00/structt__group__members.html">t_group_members</a>&#160;&#160;&#160;</td>
95+
<td valign="top"><a class="el" href="db/d82/structT__THREAD__GROUP.html">T_THREAD_GROUP</a>&#160;&#160;&#160;</td>
96+
<td></td></tr>
97+
<tr><td valign="top"><a class="el" href="d2/d86/structgroup__data.html">group_data</a>&#160;&#160;&#160;</td>
98+
<td></td><td></td><td></td><td></td></tr>
9299
<tr><td></td><td></td><td></td><td></td><td></td></tr>
93100
</table>
94-
<div class="qindex"><a class="qindex" href="#letter_g">g</a>&#160;|&#160;<a class="qindex" href="#letter_m">m</a>&#160;|&#160;<a class="qindex" href="#letter_t">t</a></div>
101+
<div class="qindex"><a class="qindex" href="#letter_c">c</a>&#160;|&#160;<a class="qindex" href="#letter_g">g</a>&#160;|&#160;<a class="qindex" href="#letter_m">m</a>&#160;|&#160;<a class="qindex" href="#letter_t">t</a></div>
95102
</div><!-- contents -->
96103
<!-- start footer part -->
97104
<hr class="footer"/><address class="footer"><small>

docs/html/d0/d29/main_8c.html

Lines changed: 32 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -87,38 +87,39 @@
8787
<div class="dyncontent">
8888
<div class="center"><img src="../../d4/d10/main_8c__incl.png" border="0" usemap="#src_2main_8c" alt=""/></div>
8989
<map name="src_2main_8c" id="src_2main_8c">
90-
<area shape="rect" title="Linux Kernel Module for Synchronization." alt="" coords="1146,5,1235,32"/>
91-
<area shape="rect" title=" " alt="" coords="213,304,331,331"/>
92-
<area shape="rect" title=" " alt="" coords="1451,229,1533,256"/>
93-
<area shape="rect" title=" " alt="" coords="703,379,803,405"/>
90+
<area shape="rect" title="Linux Kernel Module for Synchronization." alt="" coords="1103,5,1193,32"/>
91+
<area shape="rect" title=" " alt="" coords="170,304,289,331"/>
92+
<area shape="rect" title=" " alt="" coords="1573,229,1656,256"/>
93+
<area shape="rect" title=" " alt="" coords="715,379,815,405"/>
9494
<area shape="rect" title=" " alt="" coords="1262,229,1375,256"/>
95-
<area shape="rect" title=" " alt="" coords="91,304,189,331"/>
96-
<area shape="rect" title=" " alt="" coords="1253,304,1376,331"/>
97-
<area shape="rect" href="../../d2/dac/main__device_8h_source.html" title=" " alt="" coords="1132,80,1249,107"/>
98-
<area shape="rect" title=" " alt="" coords="1811,304,1922,331"/>
99-
<area shape="rect" title=" " alt="" coords="407,304,550,331"/>
100-
<area shape="rect" title=" " alt="" coords="296,229,395,256"/>
101-
<area shape="rect" title=" " alt="" coords="1099,229,1186,256"/>
102-
<area shape="rect" href="../../d4/dbe/group__manager_8h_source.html" title=" " alt="" coords="790,155,925,181"/>
103-
<area shape="rect" href="../../d4/dca/sysfs_8h.html" title="Setup the required sysfs interfaces for the module." alt="" coords="1686,155,1754,181"/>
104-
<area shape="rect" title=" " alt="" coords="739,229,845,256"/>
105-
<area shape="rect" title=" " alt="" coords="869,229,973,256"/>
106-
<area shape="rect" href="../../d2/d0d/message_8h_source.html" title=" " alt="" coords="621,229,715,256"/>
107-
<area shape="rect" title=" " alt="" coords="1139,304,1229,331"/>
108-
<area shape="rect" title=" " alt="" coords="575,304,692,331"/>
109-
<area shape="rect" title=" " alt="" coords="716,304,828,331"/>
110-
<area shape="rect" title=" " alt="" coords="851,304,975,331"/>
111-
<area shape="rect" title=" " alt="" coords="1000,304,1115,331"/>
112-
<area shape="rect" href="../../d9/d49/types_8h_source.html" title=" " alt="" coords="1471,304,1542,331"/>
113-
<area shape="rect" title=" " alt="" coords="1369,379,1476,405"/>
114-
<area shape="rect" title=" " alt="" coords="1500,379,1591,405"/>
115-
<area shape="rect" title=" " alt="" coords="1989,379,2104,405"/>
116-
<area shape="rect" title=" " alt="" coords="1615,379,1758,405"/>
117-
<area shape="rect" title=" " alt="" coords="1783,379,1887,405"/>
118-
<area shape="rect" title=" " alt="" coords="1113,379,1212,405"/>
119-
<area shape="rect" title=" " alt="" coords="1237,379,1345,405"/>
120-
<area shape="rect" title=" " alt="" coords="1709,229,1827,256"/>
121-
<area shape="rect" title=" " alt="" coords="1851,229,1978,256"/>
95+
<area shape="rect" title=" " alt="" coords="49,304,146,331"/>
96+
<area shape="rect" title=" " alt="" coords="1885,304,2008,331"/>
97+
<area shape="rect" href="../../d2/dac/main__device_8h_source.html" title=" " alt="" coords="1089,80,1207,107"/>
98+
<area shape="rect" title=" " alt="" coords="1210,304,1321,331"/>
99+
<area shape="rect" title=" " alt="" coords="1043,304,1186,331"/>
100+
<area shape="rect" title=" " alt="" coords="245,229,344,256"/>
101+
<area shape="rect" title=" " alt="" coords="998,229,1085,256"/>
102+
<area shape="rect" href="../../d4/dbe/group__manager_8h_source.html" title=" " alt="" coords="842,155,977,181"/>
103+
<area shape="rect" href="../../d4/dca/sysfs_8h.html" title="Setup the required sysfs interfaces for the module." alt="" coords="1710,155,1778,181"/>
104+
<area shape="rect" title=" " alt="" coords="637,229,744,256"/>
105+
<area shape="rect" title=" " alt="" coords="768,229,872,256"/>
106+
<area shape="rect" title=" " alt="" coords="1400,229,1499,256"/>
107+
<area shape="rect" href="../../d2/d0d/message_8h_source.html" title=" " alt="" coords="520,229,613,256"/>
108+
<area shape="rect" title=" " alt="" coords="928,304,1019,331"/>
109+
<area shape="rect" title=" " alt="" coords="364,304,481,331"/>
110+
<area shape="rect" title=" " alt="" coords="505,304,617,331"/>
111+
<area shape="rect" title=" " alt="" coords="641,304,765,331"/>
112+
<area shape="rect" title=" " alt="" coords="789,304,904,331"/>
113+
<area shape="rect" href="../../d9/d49/types_8h_source.html" title=" " alt="" coords="1438,304,1509,331"/>
114+
<area shape="rect" title=" " alt="" coords="1359,379,1465,405"/>
115+
<area shape="rect" title=" " alt="" coords="1489,379,1580,405"/>
116+
<area shape="rect" title=" " alt="" coords="2041,379,2156,405"/>
117+
<area shape="rect" title=" " alt="" coords="1605,379,1747,405"/>
118+
<area shape="rect" title=" " alt="" coords="1772,379,1876,405"/>
119+
<area shape="rect" title=" " alt="" coords="1103,379,1201,405"/>
120+
<area shape="rect" title=" " alt="" coords="1226,379,1334,405"/>
121+
<area shape="rect" title=" " alt="" coords="1984,229,2101,256"/>
122+
<area shape="rect" title=" " alt="" coords="1782,229,1909,256"/>
122123
</map>
123124
</div>
124125
</div><table class="memberdecls">
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2b0c03f6668d58a180249f79b91f1b50
1+
190289bff03ec83653afe1f8ab527da6
2.62 KB
Loading

docs/html/d0/d6d/message_8c.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -250,7 +250,7 @@ <h2 class="memtitle"><span class="permalink"><a href="#aaa0bbdede7f7c74403859a3e
250250
</table>
251251
</dd>
252252
</dl>
253-
<dl class="todo"><dt><b><a class="el" href="../../dd/da0/todo.html#_todo000005">Todo:</a></b></dt><dd>Check thread-safety of the function </dd></dl>
253+
<dl class="todo"><dt><b><a class="el" href="../../dd/da0/todo.html#_todo000006">Todo:</a></b></dt><dd>Check thread-safety of the function </dd></dl>
254254
<dl class="section note"><dt>Note</dt><dd>The kmsg structure must be allocated </dd></dl>
255255

256256
</div>
@@ -302,7 +302,7 @@ <h2 class="memtitle"><span class="permalink"><a href="#a02620253a55902a0dc6e7931
302302
</table>
303303
</dd>
304304
</dl>
305-
<dl class="todo"><dt><b><a class="el" href="../../dd/da0/todo.html#_todo000004">Todo:</a></b></dt><dd>Check thread-safety of the function </dd></dl>
305+
<dl class="todo"><dt><b><a class="el" href="../../dd/da0/todo.html#_todo000005">Todo:</a></b></dt><dd>Check thread-safety of the function </dd></dl>
306306
<dl class="section note"><dt>Note</dt><dd>The umsg structure must be allocated </dd></dl>
307307

308308
</div>

0 commit comments

Comments
 (0)