summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--analysis/loop/call_graph_loop_device.pdfbin0 -> 16980 bytes
-rw-r--r--analysis/loop/call_graph_loop_device.svg565
2 files changed, 565 insertions, 0 deletions
diff --git a/analysis/loop/call_graph_loop_device.pdf b/analysis/loop/call_graph_loop_device.pdf
new file mode 100644
index 0000000..7ba81b4
--- /dev/null
+++ b/analysis/loop/call_graph_loop_device.pdf
Binary files differ
diff --git a/analysis/loop/call_graph_loop_device.svg b/analysis/loop/call_graph_loop_device.svg
new file mode 100644
index 0000000..4b2547b
--- /dev/null
+++ b/analysis/loop/call_graph_loop_device.svg
@@ -0,0 +1,565 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<!-- Generated by graphviz version 2.40.1 (0)
+ -->
+<!-- Title: callgraph Pages: 1 -->
+<svg width="1448pt" height="1779pt"
+ viewBox="0.00 0.00 1447.99 1779.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 1775)">
+<title>callgraph</title>
+<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-1775 1443.985,-1775 1443.985,4 -4,4"/>
+<!-- lo_ioctl -->
+<g id="node1" class="node">
+<title>lo_ioctl</title>
+<ellipse fill="none" stroke="#000000" cx="477.9608" cy="-302" rx="44.393" ry="18"/>
+<text text-anchor="middle" x="477.9608" y="-298.3" font-family="Times,serif" font-size="14.00" fill="#000000">lo_ioctl</text>
+</g>
+<!-- loop_set_status_old -->
+<g id="node2" class="node">
+<title>loop_set_status_old</title>
+<ellipse fill="none" stroke="#000000" cx="768.0882" cy="-348" rx="102.0819" ry="18"/>
+<text text-anchor="middle" x="768.0882" y="-344.3" font-family="Times,serif" font-size="14.00" fill="#000000">loop_set_status_old</text>
+</g>
+<!-- lo_ioctl&#45;&gt;loop_set_status_old -->
+<g id="edge1" class="edge">
+<title>lo_ioctl&#45;&gt;loop_set_status_old</title>
+<path fill="none" stroke="#000000" d="M519.2209,-308.5418C561.4893,-315.2435 628.4495,-325.8601 682.2711,-334.3936"/>
+<polygon fill="#000000" stroke="#000000" points="681.7343,-337.8521 692.159,-335.9613 682.8305,-330.9385 681.7343,-337.8521"/>
+</g>
+<!-- loop_validate_file -->
+<g id="node3" class="node">
+<title>loop_validate_file</title>
+<ellipse fill="none" stroke="#000000" cx="768.0882" cy="-256" rx="91.784" ry="18"/>
+<text text-anchor="middle" x="768.0882" y="-252.3" font-family="Times,serif" font-size="14.00" fill="#000000">loop_validate_file</text>
+</g>
+<!-- lo_ioctl&#45;&gt;loop_validate_file -->
+<g id="edge2" class="edge">
+<title>lo_ioctl&#45;&gt;loop_validate_file</title>
+<path fill="none" stroke="#000000" d="M519.2209,-295.4582C562.6675,-288.5697 632.2016,-277.545 686.7404,-268.8978"/>
+<polygon fill="#000000" stroke="#000000" points="687.4113,-272.3352 696.7399,-267.3124 686.3151,-265.4216 687.4113,-272.3352"/>
+</g>
+<!-- loop_get_status_old -->
+<g id="node4" class="node">
+<title>loop_get_status_old</title>
+<ellipse fill="none" stroke="#000000" cx="768.0882" cy="-164" rx="102.8821" ry="18"/>
+<text text-anchor="middle" x="768.0882" y="-160.3" font-family="Times,serif" font-size="14.00" fill="#000000">loop_get_status_old</text>
+</g>
+<!-- lo_ioctl&#45;&gt;loop_get_status_old -->
+<g id="edge3" class="edge">
+<title>lo_ioctl&#45;&gt;loop_get_status_old</title>
+<path fill="none" stroke="#000000" d="M497.7762,-285.4883C526.6904,-262.206 582.9515,-219.9075 637.4498,-196 652.679,-189.3192 669.5454,-183.879 685.9594,-179.5061"/>
+<polygon fill="#000000" stroke="#000000" points="687.2772,-182.7821 696.1023,-176.9197 685.5475,-175.9992 687.2772,-182.7821"/>
+</g>
+<!-- loop_reread_partitions -->
+<g id="node5" class="node">
+<title>loop_reread_partitions</title>
+<ellipse fill="none" stroke="#000000" cx="1323.6453" cy="-229" rx="116.1796" ry="18"/>
+<text text-anchor="middle" x="1323.6453" y="-225.3" font-family="Times,serif" font-size="14.00" fill="#000000">loop_reread_partitions</text>
+</g>
+<!-- lo_ioctl&#45;&gt;loop_reread_partitions -->
+<g id="edge4" class="edge">
+<title>lo_ioctl&#45;&gt;loop_reread_partitions</title>
+<path fill="none" stroke="#000000" d="M502.2062,-286.8687C532.5027,-268.936 586.5722,-240.0904 637.4498,-229 842.7807,-184.2417 1090.9595,-201.1674 1225.4376,-216.0194"/>
+<polygon fill="#000000" stroke="#000000" points="1225.3852,-219.5355 1235.7136,-217.1748 1226.1674,-212.5793 1225.3852,-219.5355"/>
+</g>
+<!-- loop_get_status64 -->
+<g id="node6" class="node">
+<title>loop_get_status64</title>
+<ellipse fill="none" stroke="#000000" cx="768.0882" cy="-110" rx="95.5831" ry="18"/>
+<text text-anchor="middle" x="768.0882" y="-106.3" font-family="Times,serif" font-size="14.00" fill="#000000">loop_get_status64</text>
+</g>
+<!-- lo_ioctl&#45;&gt;loop_get_status64 -->
+<g id="edge5" class="edge">
+<title>lo_ioctl&#45;&gt;loop_get_status64</title>
+<path fill="none" stroke="#000000" d="M489.3978,-284.4761C512.7675,-250.1959 569.5614,-174.3608 637.4498,-137 649.287,-130.4857 662.5136,-125.5383 675.8816,-121.7819"/>
+<polygon fill="#000000" stroke="#000000" points="676.8237,-125.1534 685.6227,-119.2518 675.0639,-118.3782 676.8237,-125.1534"/>
+</g>
+<!-- __loop_clr_fd -->
+<g id="node7" class="node">
+<title>__loop_clr_fd</title>
+<ellipse fill="none" stroke="#000000" cx="768.0882" cy="-494" rx="71.4873" ry="18"/>
+<text text-anchor="middle" x="768.0882" y="-490.3" font-family="Times,serif" font-size="14.00" fill="#000000">__loop_clr_fd</text>
+</g>
+<!-- lo_ioctl&#45;&gt;__loop_clr_fd -->
+<g id="edge6" class="edge">
+<title>lo_ioctl&#45;&gt;__loop_clr_fd</title>
+<path fill="none" stroke="#000000" d="M490.2052,-319.5434C514.3504,-352.7548 571.5198,-424.8084 637.4498,-462 654.9353,-471.8637 675.4106,-478.7114 694.8953,-483.4563"/>
+<polygon fill="#000000" stroke="#000000" points="694.1391,-486.8737 704.6671,-485.6856 695.6961,-480.049 694.1391,-486.8737"/>
+</g>
+<!-- loop_set_status64 -->
+<g id="node8" class="node">
+<title>loop_set_status64</title>
+<ellipse fill="none" stroke="#000000" cx="768.0882" cy="-402" rx="94.7833" ry="18"/>
+<text text-anchor="middle" x="768.0882" y="-398.3" font-family="Times,serif" font-size="14.00" fill="#000000">loop_set_status64</text>
+</g>
+<!-- lo_ioctl&#45;&gt;loop_set_status64 -->
+<g id="edge7" class="edge">
+<title>lo_ioctl&#45;&gt;loop_set_status64</title>
+<path fill="none" stroke="#000000" d="M504.5851,-316.4485C535.6576,-332.7711 588.9772,-359.1232 637.4498,-375 652.9422,-380.0744 669.7917,-384.3995 686.0809,-388.0039"/>
+<polygon fill="#000000" stroke="#000000" points="685.6226,-391.485 696.1336,-390.1552 687.0875,-384.6399 685.6226,-391.485"/>
+</g>
+<!-- __loop_update_dio -->
+<g id="node9" class="node">
+<title>__loop_update_dio</title>
+<ellipse fill="none" stroke="#000000" cx="1323.6453" cy="-422" rx="96.3833" ry="18"/>
+<text text-anchor="middle" x="1323.6453" y="-418.3" font-family="Times,serif" font-size="14.00" fill="#000000">__loop_update_dio</text>
+</g>
+<!-- lo_ioctl&#45;&gt;__loop_update_dio -->
+<g id="edge8" class="edge">
+<title>lo_ioctl&#45;&gt;__loop_update_dio</title>
+<path fill="none" stroke="#000000" d="M492.4452,-319.4745C518.0649,-348.8444 574.6329,-407.0449 637.4498,-429 743.4095,-466.034 1065.149,-444.7575 1227.6107,-430.9458"/>
+<polygon fill="#000000" stroke="#000000" points="1227.9381,-434.4306 1237.6023,-430.0887 1227.3397,-427.4563 1227.9381,-434.4306"/>
+</g>
+<!-- figure_loop_size -->
+<g id="node10" class="node">
+<title>figure_loop_size</title>
+<ellipse fill="none" stroke="#000000" cx="1323.6453" cy="-340" rx="85.5853" ry="18"/>
+<text text-anchor="middle" x="1323.6453" y="-336.3" font-family="Times,serif" font-size="14.00" fill="#000000">figure_loop_size</text>
+</g>
+<!-- lo_ioctl&#45;&gt;figure_loop_size -->
+<g id="edge9" class="edge">
+<title>lo_ioctl&#45;&gt;figure_loop_size</title>
+<path fill="none" stroke="#000000" d="M521.9423,-303.9763C653.712,-309.8972 1047.3838,-327.5865 1229.4175,-335.766"/>
+<polygon fill="#000000" stroke="#000000" points="1229.3647,-339.267 1239.5117,-336.2195 1229.6789,-332.2741 1229.3647,-339.267"/>
+</g>
+<!-- loop_set_status -->
+<g id="node18" class="node">
+<title>loop_set_status</title>
+<ellipse fill="none" stroke="#000000" cx="1053.0161" cy="-402" rx="83.3857" ry="18"/>
+<text text-anchor="middle" x="1053.0161" y="-398.3" font-family="Times,serif" font-size="14.00" fill="#000000">loop_set_status</text>
+</g>
+<!-- loop_set_status_old&#45;&gt;loop_set_status -->
+<g id="edge21" class="edge">
+<title>loop_set_status_old&#45;&gt;loop_set_status</title>
+<path fill="none" stroke="#000000" d="M837.7894,-361.2099C881.0446,-369.4077 936.5329,-379.9239 980.3341,-388.2252"/>
+<polygon fill="#000000" stroke="#000000" points="979.8688,-391.6992 990.3457,-390.1226 981.1723,-384.8217 979.8688,-391.6992"/>
+</g>
+<!-- loop_get_status -->
+<g id="node19" class="node">
+<title>loop_get_status</title>
+<ellipse fill="none" stroke="#000000" cx="1053.0161" cy="-110" rx="83.6854" ry="18"/>
+<text text-anchor="middle" x="1053.0161" y="-106.3" font-family="Times,serif" font-size="14.00" fill="#000000">loop_get_status</text>
+</g>
+<!-- loop_get_status_old&#45;&gt;loop_get_status -->
+<g id="edge22" class="edge">
+<title>loop_get_status_old&#45;&gt;loop_get_status</title>
+<path fill="none" stroke="#000000" d="M838.1544,-150.721C881.2628,-142.551 936.4165,-132.0982 980.0501,-123.8286"/>
+<polygon fill="#000000" stroke="#000000" points="980.8524,-127.239 990.0258,-121.938 979.5489,-120.3614 980.8524,-127.239"/>
+</g>
+<!-- loop_get_status64&#45;&gt;loop_get_status -->
+<g id="edge34" class="edge">
+<title>loop_get_status64&#45;&gt;loop_get_status</title>
+<path fill="none" stroke="#000000" d="M863.7577,-110C894.4054,-110 928.3033,-110 958.8432,-110"/>
+<polygon fill="#000000" stroke="#000000" points="959.062,-113.5001 969.0619,-110 959.0619,-106.5001 959.062,-113.5001"/>
+</g>
+<!-- loop_release_xfer -->
+<g id="node17" class="node">
+<title>loop_release_xfer</title>
+<ellipse fill="none" stroke="#000000" cx="1323.6453" cy="-490" rx="92.0841" ry="18"/>
+<text text-anchor="middle" x="1323.6453" y="-486.3" font-family="Times,serif" font-size="14.00" fill="#000000">loop_release_xfer</text>
+</g>
+<!-- __loop_clr_fd&#45;&gt;loop_release_xfer -->
+<g id="edge15" class="edge">
+<title>__loop_clr_fd&#45;&gt;loop_release_xfer</title>
+<path fill="none" stroke="#000000" d="M839.5803,-493.4853C936.4887,-492.7875 1110.1361,-491.5373 1220.9752,-490.7392"/>
+<polygon fill="#000000" stroke="#000000" points="1221.1936,-494.2378 1231.1681,-490.6658 1221.1431,-487.238 1221.1936,-494.2378"/>
+</g>
+<!-- loop_set_status64&#45;&gt;loop_set_status -->
+<g id="edge38" class="edge">
+<title>loop_set_status64&#45;&gt;loop_set_status</title>
+<path fill="none" stroke="#000000" d="M863.3612,-402C894.3203,-402 928.6313,-402 959.4636,-402"/>
+<polygon fill="#000000" stroke="#000000" points="959.7766,-405.5001 969.7766,-402 959.7766,-398.5001 959.7766,-405.5001"/>
+</g>
+<!-- lo_compat_ioctl -->
+<g id="node11" class="node">
+<title>lo_compat_ioctl</title>
+<ellipse fill="none" stroke="#000000" cx="159.2359" cy="-302" rx="83.6854" ry="18"/>
+<text text-anchor="middle" x="159.2359" y="-298.3" font-family="Times,serif" font-size="14.00" fill="#000000">lo_compat_ioctl</text>
+</g>
+<!-- lo_compat_ioctl&#45;&gt;lo_ioctl -->
+<g id="edge12" class="edge">
+<title>lo_compat_ioctl&#45;&gt;lo_ioctl</title>
+<path fill="none" stroke="#000000" d="M243.394,-302C300.3869,-302 374.0306,-302 423.4645,-302"/>
+<polygon fill="#000000" stroke="#000000" points="423.631,-305.5001 433.631,-302 423.631,-298.5001 423.631,-305.5001"/>
+</g>
+<!-- loop_get_status_compat -->
+<g id="node12" class="node">
+<title>loop_get_status_compat</title>
+<ellipse fill="none" stroke="#000000" cx="477.9608" cy="-64" rx="123.4781" ry="18"/>
+<text text-anchor="middle" x="477.9608" y="-60.3" font-family="Times,serif" font-size="14.00" fill="#000000">loop_get_status_compat</text>
+</g>
+<!-- lo_compat_ioctl&#45;&gt;loop_get_status_compat -->
+<g id="edge10" class="edge">
+<title>lo_compat_ioctl&#45;&gt;loop_get_status_compat</title>
+<path fill="none" stroke="#000000" d="M182.4145,-284.6919C238.4863,-242.8217 381.5606,-135.9845 445.8379,-87.987"/>
+<polygon fill="#000000" stroke="#000000" points="448.0856,-90.6767 454.0041,-81.8891 443.8974,-85.0679 448.0856,-90.6767"/>
+</g>
+<!-- loop_set_status_compat -->
+<g id="node13" class="node">
+<title>loop_set_status_compat</title>
+<ellipse fill="none" stroke="#000000" cx="477.9608" cy="-544" rx="122.3786" ry="18"/>
+<text text-anchor="middle" x="477.9608" y="-540.3" font-family="Times,serif" font-size="14.00" fill="#000000">loop_set_status_compat</text>
+</g>
+<!-- lo_compat_ioctl&#45;&gt;loop_set_status_compat -->
+<g id="edge11" class="edge">
+<title>lo_compat_ioctl&#45;&gt;loop_set_status_compat</title>
+<path fill="none" stroke="#000000" d="M169.8637,-319.8563C195.7207,-361.6236 266.3098,-466.0058 354.4717,-517 362.2841,-521.5188 370.7733,-525.2825 379.5202,-528.4172"/>
+<polygon fill="#000000" stroke="#000000" points="378.4997,-531.766 389.0929,-531.5777 380.6943,-525.1189 378.4997,-531.766"/>
+</g>
+<!-- loop_get_status_compat&#45;&gt;loop_get_status -->
+<g id="edge33" class="edge">
+<title>loop_get_status_compat&#45;&gt;loop_get_status</title>
+<path fill="none" stroke="#000000" d="M601.178,-65.4125C685.2268,-67.3928 798.9615,-72.0638 898.7266,-83 926.2914,-86.0216 956.3771,-90.9201 982.6017,-95.7207"/>
+<polygon fill="#000000" stroke="#000000" points="981.9789,-99.1648 992.4502,-97.5517 983.2585,-92.2827 981.9789,-99.1648"/>
+</g>
+<!-- loop_info64_to_compat -->
+<g id="node29" class="node">
+<title>loop_info64_to_compat</title>
+<ellipse fill="none" stroke="#000000" cx="768.0882" cy="-18" rx="118.0794" ry="18"/>
+<text text-anchor="middle" x="768.0882" y="-14.3" font-family="Times,serif" font-size="14.00" fill="#000000">loop_info64_to_compat</text>
+</g>
+<!-- loop_get_status_compat&#45;&gt;loop_info64_to_compat -->
+<g id="edge32" class="edge">
+<title>loop_get_status_compat&#45;&gt;loop_info64_to_compat</title>
+<path fill="none" stroke="#000000" d="M561.8777,-50.6949C597.5203,-45.0437 639.1912,-38.4367 675.708,-32.647"/>
+<polygon fill="#000000" stroke="#000000" points="676.5331,-36.06 685.8616,-31.0371 675.4369,-29.1463 676.5331,-36.06"/>
+</g>
+<!-- loop_set_status_compat&#45;&gt;loop_set_status -->
+<g id="edge36" class="edge">
+<title>loop_set_status_compat&#45;&gt;loop_set_status</title>
+<path fill="none" stroke="#000000" d="M576.1087,-554.7329C663.578,-560.5921 793.6327,-560.0538 898.7266,-521 952.2857,-501.097 1002.3351,-455.6542 1030.1906,-427.0376"/>
+<polygon fill="#000000" stroke="#000000" points="1032.7309,-429.4453 1037.1132,-419.7993 1027.672,-424.6071 1032.7309,-429.4453"/>
+</g>
+<!-- loop_info64_from_compat -->
+<g id="node30" class="node">
+<title>loop_info64_from_compat</title>
+<ellipse fill="none" stroke="#000000" cx="768.0882" cy="-586" rx="130.777" ry="18"/>
+<text text-anchor="middle" x="768.0882" y="-582.3" font-family="Times,serif" font-size="14.00" fill="#000000">loop_info64_from_compat</text>
+</g>
+<!-- loop_set_status_compat&#45;&gt;loop_info64_from_compat -->
+<g id="edge35" class="edge">
+<title>loop_set_status_compat&#45;&gt;loop_info64_from_compat</title>
+<path fill="none" stroke="#000000" d="M565.402,-556.6583C597.6088,-561.3207 634.3405,-566.6382 667.6074,-571.454"/>
+<polygon fill="#000000" stroke="#000000" points="667.4132,-574.9623 677.8115,-572.9312 668.4161,-568.0345 667.4132,-574.9623"/>
+</g>
+<!-- loop_probe -->
+<g id="node14" class="node">
+<title>loop_probe</title>
+<ellipse fill="none" stroke="#000000" cx="159.2359" cy="-704" rx="61.99" ry="18"/>
+<text text-anchor="middle" x="159.2359" y="-700.3" font-family="Times,serif" font-size="14.00" fill="#000000">loop_probe</text>
+</g>
+<!-- loop_add -->
+<g id="node15" class="node">
+<title>loop_add</title>
+<ellipse fill="none" stroke="#000000" cx="477.9608" cy="-748" rx="51.9908" ry="18"/>
+<text text-anchor="middle" x="477.9608" y="-744.3" font-family="Times,serif" font-size="14.00" fill="#000000">loop_add</text>
+</g>
+<!-- loop_probe&#45;&gt;loop_add -->
+<g id="edge13" class="edge">
+<title>loop_probe&#45;&gt;loop_add</title>
+<path fill="none" stroke="#000000" d="M215.1182,-711.7146C272.3813,-719.6197 361.0492,-731.8604 419.3026,-739.9022"/>
+<polygon fill="#000000" stroke="#000000" points="419.0684,-743.403 429.4531,-741.3035 420.0257,-736.4688 419.0684,-743.403"/>
+</g>
+<!-- loop_lookup -->
+<g id="node16" class="node">
+<title>loop_lookup</title>
+<ellipse fill="none" stroke="#000000" cx="477.9608" cy="-694" rx="66.0889" ry="18"/>
+<text text-anchor="middle" x="477.9608" y="-690.3" font-family="Times,serif" font-size="14.00" fill="#000000">loop_lookup</text>
+</g>
+<!-- loop_probe&#45;&gt;loop_lookup -->
+<g id="edge14" class="edge">
+<title>loop_probe&#45;&gt;loop_lookup</title>
+<path fill="none" stroke="#000000" d="M220.6892,-702.0719C272.3737,-700.4503 346.4909,-698.1249 401.909,-696.3861"/>
+<polygon fill="#000000" stroke="#000000" points="402.1443,-699.8806 412.0295,-696.0686 401.9247,-692.884 402.1443,-699.8806"/>
+</g>
+<!-- loop_lookup.part.3 -->
+<g id="node21" class="node">
+<title>loop_lookup.part.3</title>
+<ellipse fill="none" stroke="#000000" cx="768.0882" cy="-671" rx="97.4827" ry="18"/>
+<text text-anchor="middle" x="768.0882" y="-667.3" font-family="Times,serif" font-size="14.00" fill="#000000">loop_lookup.part.3</text>
+</g>
+<!-- loop_lookup&#45;&gt;loop_lookup.part.3 -->
+<g id="edge23" class="edge">
+<title>loop_lookup&#45;&gt;loop_lookup.part.3</title>
+<path fill="none" stroke="#000000" d="M541.6305,-688.9526C578.7695,-686.0083 626.4324,-682.2298 668.443,-678.8994"/>
+<polygon fill="#000000" stroke="#000000" points="668.7373,-682.3872 678.4294,-678.1077 668.1841,-675.4091 668.7373,-682.3872"/>
+</g>
+<!-- loop_set_status&#45;&gt;loop_reread_partitions -->
+<g id="edge18" class="edge">
+<title>loop_set_status&#45;&gt;loop_reread_partitions</title>
+<path fill="none" stroke="#000000" d="M1079.9545,-384.7796C1128.8398,-353.5296 1232.1869,-287.4649 1287.2761,-252.2491"/>
+<polygon fill="#000000" stroke="#000000" points="1289.4697,-255.0009 1296.0102,-246.6658 1285.6995,-249.1029 1289.4697,-255.0009"/>
+</g>
+<!-- loop_set_status&#45;&gt;__loop_update_dio -->
+<g id="edge16" class="edge">
+<title>loop_set_status&#45;&gt;__loop_update_dio</title>
+<path fill="none" stroke="#000000" d="M1132.0208,-407.8386C1160.7557,-409.9622 1193.614,-412.3904 1223.9106,-414.6294"/>
+<polygon fill="#000000" stroke="#000000" points="1223.8465,-418.1341 1234.0773,-415.3808 1224.3625,-411.1532 1223.8465,-418.1341"/>
+</g>
+<!-- loop_set_status&#45;&gt;figure_loop_size -->
+<g id="edge19" class="edge">
+<title>loop_set_status&#45;&gt;figure_loop_size</title>
+<path fill="none" stroke="#000000" d="M1110.4096,-388.8514C1152.8186,-379.1357 1210.7179,-365.8712 1255.4827,-355.6158"/>
+<polygon fill="#000000" stroke="#000000" points="1256.4357,-358.9882 1265.4016,-353.3434 1254.8725,-352.165 1256.4357,-358.9882"/>
+</g>
+<!-- loop_set_status&#45;&gt;loop_release_xfer -->
+<g id="edge17" class="edge">
+<title>loop_set_status&#45;&gt;loop_release_xfer</title>
+<path fill="none" stroke="#000000" d="M1099.2315,-417.0278C1145.3706,-432.0307 1216.3894,-455.1238 1266.1451,-471.3027"/>
+<polygon fill="#000000" stroke="#000000" points="1265.2068,-474.678 1275.799,-474.4419 1267.3715,-468.0211 1265.2068,-474.678"/>
+</g>
+<!-- loop_get_status.part.7 -->
+<g id="node20" class="node">
+<title>loop_get_status.part.7</title>
+<ellipse fill="none" stroke="#000000" cx="1323.6453" cy="-110" rx="115.0796" ry="18"/>
+<text text-anchor="middle" x="1323.6453" y="-106.3" font-family="Times,serif" font-size="14.00" fill="#000000">loop_get_status.part.7</text>
+</g>
+<!-- loop_get_status&#45;&gt;loop_get_status.part.7 -->
+<g id="edge20" class="edge">
+<title>loop_get_status&#45;&gt;loop_get_status.part.7</title>
+<path fill="none" stroke="#000000" d="M1137.1614,-110C1156.4963,-110 1177.4657,-110 1198.1289,-110"/>
+<polygon fill="#000000" stroke="#000000" points="1198.2395,-113.5001 1208.2395,-110 1198.2395,-106.5001 1198.2395,-113.5001"/>
+</g>
+<!-- lo_rw_aio -->
+<g id="node22" class="node">
+<title>lo_rw_aio</title>
+<ellipse fill="none" stroke="#000000" cx="477.9608" cy="-871" rx="54.6905" ry="18"/>
+<text text-anchor="middle" x="477.9608" y="-867.3" font-family="Times,serif" font-size="14.00" fill="#000000">lo_rw_aio</text>
+</g>
+<!-- lo_rw_aio_do_completion -->
+<g id="node23" class="node">
+<title>lo_rw_aio_do_completion</title>
+<ellipse fill="none" stroke="#000000" cx="768.0882" cy="-898" rx="127.2775" ry="18"/>
+<text text-anchor="middle" x="768.0882" y="-894.3" font-family="Times,serif" font-size="14.00" fill="#000000">lo_rw_aio_do_completion</text>
+</g>
+<!-- lo_rw_aio&#45;&gt;lo_rw_aio_do_completion -->
+<g id="edge24" class="edge">
+<title>lo_rw_aio&#45;&gt;lo_rw_aio_do_completion</title>
+<path fill="none" stroke="#000000" d="M530.8373,-875.9208C564.5799,-879.061 609.685,-883.2586 651.5034,-887.1503"/>
+<polygon fill="#000000" stroke="#000000" points="651.2087,-890.6379 661.49,-888.0797 651.8574,-883.668 651.2087,-890.6379"/>
+</g>
+<!-- lo_rw_aio_complete -->
+<g id="node24" class="node">
+<title>lo_rw_aio_complete</title>
+<ellipse fill="none" stroke="#000000" cx="477.9608" cy="-925" rx="102.8821" ry="18"/>
+<text text-anchor="middle" x="477.9608" y="-921.3" font-family="Times,serif" font-size="14.00" fill="#000000">lo_rw_aio_complete</text>
+</g>
+<!-- lo_rw_aio_complete&#45;&gt;lo_rw_aio_do_completion -->
+<g id="edge25" class="edge">
+<title>lo_rw_aio_complete&#45;&gt;lo_rw_aio_do_completion</title>
+<path fill="none" stroke="#000000" d="M568.9629,-916.5311C595.1598,-914.0932 624.1017,-911.3998 651.6148,-908.8393"/>
+<polygon fill="#000000" stroke="#000000" points="652.0462,-912.3144 661.6788,-907.9027 651.3975,-905.3445 652.0462,-912.3144"/>
+</g>
+<!-- unregister_transfer_cb -->
+<g id="node25" class="node">
+<title>unregister_transfer_cb</title>
+<ellipse fill="none" stroke="#000000" cx="1053.0161" cy="-536" rx="118.0794" ry="18"/>
+<text text-anchor="middle" x="1053.0161" y="-532.3" font-family="Times,serif" font-size="14.00" fill="#000000">unregister_transfer_cb</text>
+</g>
+<!-- unregister_transfer_cb&#45;&gt;loop_release_xfer -->
+<g id="edge26" class="edge">
+<title>unregister_transfer_cb&#45;&gt;loop_release_xfer</title>
+<path fill="none" stroke="#000000" d="M1132.0208,-522.5712C1167.0944,-516.6096 1208.3113,-509.6038 1243.5147,-503.6201"/>
+<polygon fill="#000000" stroke="#000000" points="1244.4802,-507.0063 1253.7523,-501.88 1243.3072,-500.1053 1244.4802,-507.0063"/>
+</g>
+<!-- lo_release -->
+<g id="node26" class="node">
+<title>lo_release</title>
+<ellipse fill="none" stroke="#000000" cx="477.9608" cy="-490" rx="57.6901" ry="18"/>
+<text text-anchor="middle" x="477.9608" y="-486.3" font-family="Times,serif" font-size="14.00" fill="#000000">lo_release</text>
+</g>
+<!-- lo_release&#45;&gt;__loop_clr_fd -->
+<g id="edge27" class="edge">
+<title>lo_release&#45;&gt;__loop_clr_fd</title>
+<path fill="none" stroke="#000000" d="M535.9751,-490.7998C579.1252,-491.3948 638.5818,-492.2145 686.5159,-492.8754"/>
+<polygon fill="#000000" stroke="#000000" points="686.5123,-496.3755 696.5597,-493.0138 686.6089,-489.3762 686.5123,-496.3755"/>
+</g>
+<!-- loop_control_ioctl -->
+<g id="node27" class="node">
+<title>loop_control_ioctl</title>
+<ellipse fill="none" stroke="#000000" cx="159.2359" cy="-650" rx="93.6835" ry="18"/>
+<text text-anchor="middle" x="159.2359" y="-646.3" font-family="Times,serif" font-size="14.00" fill="#000000">loop_control_ioctl</text>
+</g>
+<!-- loop_control_ioctl&#45;&gt;loop_add -->
+<g id="edge31" class="edge">
+<title>loop_control_ioctl&#45;&gt;loop_add</title>
+<path fill="none" stroke="#000000" d="M250.7127,-654.1577C273.9642,-658.1883 298.1084,-665.1639 318.4717,-677 340.3167,-689.6972 332.9332,-707.7898 354.4717,-721 373.0402,-732.3885 395.7739,-739.0047 416.6516,-742.8373"/>
+<polygon fill="#000000" stroke="#000000" points="416.288,-746.3246 426.7252,-744.5038 417.4306,-739.4185 416.288,-746.3246"/>
+</g>
+<!-- loop_control_ioctl&#45;&gt;loop_lookup -->
+<g id="edge28" class="edge">
+<title>loop_control_ioctl&#45;&gt;loop_lookup</title>
+<path fill="none" stroke="#000000" d="M235.5784,-660.5391C288.2378,-667.8087 357.6764,-677.3947 408.7289,-684.4425"/>
+<polygon fill="#000000" stroke="#000000" points="408.2991,-687.9163 418.6838,-685.8168 409.2564,-680.9821 408.2991,-687.9163"/>
+</g>
+<!-- loop_control_ioctl&#45;&gt;loop_lookup.part.3 -->
+<g id="edge29" class="edge">
+<title>loop_control_ioctl&#45;&gt;loop_lookup.part.3</title>
+<path fill="none" stroke="#000000" d="M251.3767,-653.178C361.5774,-656.979 545.6809,-663.3289 661.7949,-667.3338"/>
+<polygon fill="#000000" stroke="#000000" points="662.0038,-670.843 672.1185,-667.6899 662.2452,-663.8472 662.0038,-670.843"/>
+</g>
+<!-- loop_remove -->
+<g id="node28" class="node">
+<title>loop_remove</title>
+<ellipse fill="none" stroke="#000000" cx="477.9608" cy="-598" rx="69.5877" ry="18"/>
+<text text-anchor="middle" x="477.9608" y="-594.3" font-family="Times,serif" font-size="14.00" fill="#000000">loop_remove</text>
+</g>
+<!-- loop_control_ioctl&#45;&gt;loop_remove -->
+<g id="edge30" class="edge">
+<title>loop_control_ioctl&#45;&gt;loop_remove</title>
+<path fill="none" stroke="#000000" d="M230.764,-638.3302C284.043,-629.6377 356.3702,-617.8375 409.0189,-609.2479"/>
+<polygon fill="#000000" stroke="#000000" points="409.6369,-612.6934 418.9428,-607.6288 408.5097,-605.7848 409.6369,-612.6934"/>
+</g>
+<!-- loop_init -->
+<g id="node31" class="node">
+<title>loop_init</title>
+<ellipse fill="none" stroke="#000000" cx="159.2359" cy="-758" rx="50.8918" ry="18"/>
+<text text-anchor="middle" x="159.2359" y="-754.3" font-family="Times,serif" font-size="14.00" fill="#000000">loop_init</text>
+</g>
+<!-- loop_init&#45;&gt;loop_add -->
+<g id="edge37" class="edge">
+<title>loop_init&#45;&gt;loop_add</title>
+<path fill="none" stroke="#000000" d="M209.7388,-756.4155C265.6577,-754.661 355.8304,-751.8318 415.9823,-749.9446"/>
+<polygon fill="#000000" stroke="#000000" points="416.2227,-753.4389 426.108,-749.6269 416.0032,-746.4423 416.2227,-753.4389"/>
+</g>
+<!-- loop_exit_cb -->
+<g id="node32" class="node">
+<title>loop_exit_cb</title>
+<ellipse fill="none" stroke="#000000" cx="159.2359" cy="-596" rx="68.7879" ry="18"/>
+<text text-anchor="middle" x="159.2359" y="-592.3" font-family="Times,serif" font-size="14.00" fill="#000000">loop_exit_cb</text>
+</g>
+<!-- loop_exit_cb&#45;&gt;loop_remove -->
+<g id="edge39" class="edge">
+<title>loop_exit_cb&#45;&gt;loop_remove</title>
+<path fill="none" stroke="#000000" d="M228.3944,-596.434C278.3423,-596.7474 345.9177,-597.1714 398.1545,-597.4992"/>
+<polygon fill="#000000" stroke="#000000" points="398.3658,-601.0005 408.3876,-597.5634 398.4098,-594.0007 398.3658,-601.0005"/>
+</g>
+<!-- loop_queue_work -->
+<g id="node33" class="node">
+<title>loop_queue_work</title>
+<ellipse fill="none" stroke="#000000" cx="159.2359" cy="-835" rx="91.784" ry="18"/>
+<text text-anchor="middle" x="159.2359" y="-831.3" font-family="Times,serif" font-size="14.00" fill="#000000">loop_queue_work</text>
+</g>
+<!-- loop_queue_work&#45;&gt;lo_rw_aio -->
+<g id="edge41" class="edge">
+<title>loop_queue_work&#45;&gt;lo_rw_aio</title>
+<path fill="none" stroke="#000000" d="M238.8415,-843.9915C293.6961,-850.1873 365.5375,-858.3018 416.1041,-864.0133"/>
+<polygon fill="#000000" stroke="#000000" points="415.9102,-867.5136 426.2399,-865.1581 416.6959,-860.5578 415.9102,-867.5136"/>
+</g>
+<!-- lo_write_bvec -->
+<g id="node34" class="node">
+<title>lo_write_bvec</title>
+<ellipse fill="none" stroke="#000000" cx="477.9608" cy="-817" rx="75.2868" ry="18"/>
+<text text-anchor="middle" x="477.9608" y="-813.3" font-family="Times,serif" font-size="14.00" fill="#000000">lo_write_bvec</text>
+</g>
+<!-- loop_queue_work&#45;&gt;lo_write_bvec -->
+<g id="edge40" class="edge">
+<title>loop_queue_work&#45;&gt;lo_write_bvec</title>
+<path fill="none" stroke="#000000" d="M247.5953,-830.0099C293.4969,-827.4176 349.2774,-824.2674 394.4518,-821.7162"/>
+<polygon fill="#000000" stroke="#000000" points="394.7239,-825.2065 404.5106,-821.1481 394.3291,-818.2176 394.7239,-825.2065"/>
+</g>
+<!-- transfer_xor -->
+<g id="node35" class="node">
+<title>transfer_xor</title>
+<ellipse fill="none" stroke="#000000" cx="159.2359" cy="-889" rx="68.4888" ry="18"/>
+<text text-anchor="middle" x="159.2359" y="-885.3" font-family="Times,serif" font-size="14.00" fill="#000000">transfer_xor</text>
+</g>
+<!-- loop_attr_do_show_backing_file -->
+<g id="node36" class="node">
+<title>loop_attr_do_show_backing_file</title>
+<ellipse fill="none" stroke="#000000" cx="159.2359" cy="-943" rx="159.4721" ry="18"/>
+<text text-anchor="middle" x="159.2359" y="-939.3" font-family="Times,serif" font-size="14.00" fill="#000000">loop_attr_do_show_backing_file</text>
+</g>
+<!-- loop_attr_do_show_partscan -->
+<g id="node37" class="node">
+<title>loop_attr_do_show_partscan</title>
+<ellipse fill="none" stroke="#000000" cx="159.2359" cy="-997" rx="143.7746" ry="18"/>
+<text text-anchor="middle" x="159.2359" y="-993.3" font-family="Times,serif" font-size="14.00" fill="#000000">loop_attr_do_show_partscan</text>
+</g>
+<!-- loop_unregister_transfer -->
+<g id="node38" class="node">
+<title>loop_unregister_transfer</title>
+<ellipse fill="none" stroke="#000000" cx="159.2359" cy="-1051" rx="126.1777" ry="18"/>
+<text text-anchor="middle" x="159.2359" y="-1047.3" font-family="Times,serif" font-size="14.00" fill="#000000">loop_unregister_transfer</text>
+</g>
+<!-- loop_attr_do_show_dio -->
+<g id="node39" class="node">
+<title>loop_attr_do_show_dio</title>
+<ellipse fill="none" stroke="#000000" cx="159.2359" cy="-1105" rx="116.1796" ry="18"/>
+<text text-anchor="middle" x="159.2359" y="-1101.3" font-family="Times,serif" font-size="14.00" fill="#000000">loop_attr_do_show_dio</text>
+</g>
+<!-- loop_attr_do_show_offset -->
+<g id="node40" class="node">
+<title>loop_attr_do_show_offset</title>
+<ellipse fill="none" stroke="#000000" cx="159.2359" cy="-1159" rx="128.8774" ry="18"/>
+<text text-anchor="middle" x="159.2359" y="-1155.3" font-family="Times,serif" font-size="14.00" fill="#000000">loop_attr_do_show_offset</text>
+</g>
+<!-- loop_attr_do_show_sizelimit -->
+<g id="node41" class="node">
+<title>loop_attr_do_show_sizelimit</title>
+<ellipse fill="none" stroke="#000000" cx="159.2359" cy="-1213" rx="141.8751" ry="18"/>
+<text text-anchor="middle" x="159.2359" y="-1209.3" font-family="Times,serif" font-size="14.00" fill="#000000">loop_attr_do_show_sizelimit</text>
+</g>
+<!-- find_free_cb -->
+<g id="node42" class="node">
+<title>find_free_cb</title>
+<ellipse fill="none" stroke="#000000" cx="159.2359" cy="-1267" rx="68.4888" ry="18"/>
+<text text-anchor="middle" x="159.2359" y="-1263.3" font-family="Times,serif" font-size="14.00" fill="#000000">find_free_cb</text>
+</g>
+<!-- lo_complete_rq -->
+<g id="node43" class="node">
+<title>lo_complete_rq</title>
+<ellipse fill="none" stroke="#000000" cx="159.2359" cy="-1321" rx="81.7856" ry="18"/>
+<text text-anchor="middle" x="159.2359" y="-1317.3" font-family="Times,serif" font-size="14.00" fill="#000000">lo_complete_rq</text>
+</g>
+<!-- loop_attr_do_show_autoclear -->
+<g id="node44" class="node">
+<title>loop_attr_do_show_autoclear</title>
+<ellipse fill="none" stroke="#000000" cx="159.2359" cy="-1375" rx="146.4744" ry="18"/>
+<text text-anchor="middle" x="159.2359" y="-1371.3" font-family="Times,serif" font-size="14.00" fill="#000000">loop_attr_do_show_autoclear</text>
+</g>
+<!-- loop_kthread_worker_fn -->
+<g id="node45" class="node">
+<title>loop_kthread_worker_fn</title>
+<ellipse fill="none" stroke="#000000" cx="159.2359" cy="-1429" rx="124.2781" ry="18"/>
+<text text-anchor="middle" x="159.2359" y="-1425.3" font-family="Times,serif" font-size="14.00" fill="#000000">loop_kthread_worker_fn</text>
+</g>
+<!-- loop_queue_rq -->
+<g id="node46" class="node">
+<title>loop_queue_rq</title>
+<ellipse fill="none" stroke="#000000" cx="159.2359" cy="-1483" rx="78.7863" ry="18"/>
+<text text-anchor="middle" x="159.2359" y="-1479.3" font-family="Times,serif" font-size="14.00" fill="#000000">loop_queue_rq</text>
+</g>
+<!-- xor_init -->
+<g id="node47" class="node">
+<title>xor_init</title>
+<ellipse fill="none" stroke="#000000" cx="159.2359" cy="-1537" rx="46.2923" ry="18"/>
+<text text-anchor="middle" x="159.2359" y="-1533.3" font-family="Times,serif" font-size="14.00" fill="#000000">xor_init</text>
+</g>
+<!-- loop_register_transfer -->
+<g id="node48" class="node">
+<title>loop_register_transfer</title>
+<ellipse fill="none" stroke="#000000" cx="159.2359" cy="-1591" rx="114.2798" ry="18"/>
+<text text-anchor="middle" x="159.2359" y="-1587.3" font-family="Times,serif" font-size="14.00" fill="#000000">loop_register_transfer</text>
+</g>
+<!-- loop_init_request -->
+<g id="node49" class="node">
+<title>loop_init_request</title>
+<ellipse fill="none" stroke="#000000" cx="159.2359" cy="-1645" rx="90.9839" ry="18"/>
+<text text-anchor="middle" x="159.2359" y="-1641.3" font-family="Times,serif" font-size="14.00" fill="#000000">loop_init_request</text>
+</g>
+<!-- lo_open -->
+<g id="node50" class="node">
+<title>lo_open</title>
+<ellipse fill="none" stroke="#000000" cx="159.2359" cy="-1699" rx="46.2923" ry="18"/>
+<text text-anchor="middle" x="159.2359" y="-1695.3" font-family="Times,serif" font-size="14.00" fill="#000000">lo_open</text>
+</g>
+<!-- loop_exit -->
+<g id="node51" class="node">
+<title>loop_exit</title>
+<ellipse fill="none" stroke="#000000" cx="159.2359" cy="-1753" rx="52.7911" ry="18"/>
+<text text-anchor="middle" x="159.2359" y="-1749.3" font-family="Times,serif" font-size="14.00" fill="#000000">loop_exit</text>
+</g>
+</g>
+</svg>