ReadersPartitionGP1.svg 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640
  1. <?xml version="1.0" encoding="UTF-8" standalone="no"?>
  2. <!-- Created with Inkscape (http://www.inkscape.org/) -->
  3. <svg
  4. xmlns:dc="http://purl.org/dc/elements/1.1/"
  5. xmlns:cc="http://creativecommons.org/ns#"
  6. xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  7. xmlns:svg="http://www.w3.org/2000/svg"
  8. xmlns="http://www.w3.org/2000/svg"
  9. xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
  10. xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
  11. width="735.25"
  12. height="516.21875"
  13. id="svg2"
  14. version="1.1"
  15. inkscape:version="0.48.3.1 r9886"
  16. sodipodi:docname="ReadersPartitionGP1.svg">
  17. <defs
  18. id="defs4">
  19. <marker
  20. inkscape:stockid="Arrow2Lend"
  21. orient="auto"
  22. refY="0"
  23. refX="0"
  24. id="Arrow2Lend"
  25. style="overflow:visible">
  26. <path
  27. id="path3792"
  28. style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
  29. d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
  30. transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
  31. inkscape:connector-curvature="0" />
  32. </marker>
  33. <marker
  34. inkscape:stockid="Arrow2Lstart"
  35. orient="auto"
  36. refY="0"
  37. refX="0"
  38. id="Arrow2Lstart"
  39. style="overflow:visible">
  40. <path
  41. id="path3789"
  42. style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
  43. d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
  44. transform="matrix(1.1,0,0,1.1,1.1,0)"
  45. inkscape:connector-curvature="0" />
  46. </marker>
  47. <marker
  48. inkscape:stockid="Arrow2Lstart"
  49. orient="auto"
  50. refY="0"
  51. refX="0"
  52. id="Arrow2Lstart-4"
  53. style="overflow:visible">
  54. <path
  55. id="path3789-9"
  56. style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
  57. d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
  58. transform="matrix(1.1,0,0,1.1,1.1,0)"
  59. inkscape:connector-curvature="0" />
  60. </marker>
  61. <marker
  62. inkscape:stockid="Arrow2Lend"
  63. orient="auto"
  64. refY="0"
  65. refX="0"
  66. id="Arrow2Lend-4"
  67. style="overflow:visible">
  68. <path
  69. id="path3792-4"
  70. style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
  71. d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
  72. transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
  73. inkscape:connector-curvature="0" />
  74. </marker>
  75. </defs>
  76. <sodipodi:namedview
  77. id="base"
  78. pagecolor="#ffffff"
  79. bordercolor="#666666"
  80. borderopacity="1.0"
  81. inkscape:pageopacity="0.0"
  82. inkscape:pageshadow="2"
  83. inkscape:zoom="1.3670394"
  84. inkscape:cx="367.26465"
  85. inkscape:cy="258.46182"
  86. inkscape:document-units="px"
  87. inkscape:current-layer="g4433-6"
  88. showgrid="false"
  89. inkscape:window-width="1351"
  90. inkscape:window-height="836"
  91. inkscape:window-x="438"
  92. inkscape:window-y="335"
  93. inkscape:window-maximized="0"
  94. fit-margin-top="5"
  95. fit-margin-left="5"
  96. fit-margin-right="5"
  97. fit-margin-bottom="5" />
  98. <metadata
  99. id="metadata7">
  100. <rdf:RDF>
  101. <cc:Work
  102. rdf:about="">
  103. <dc:format>image/svg+xml</dc:format>
  104. <dc:type
  105. rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
  106. <dc:title />
  107. </cc:Work>
  108. </rdf:RDF>
  109. </metadata>
  110. <g
  111. inkscape:label="Layer 1"
  112. inkscape:groupmode="layer"
  113. id="layer1"
  114. transform="translate(-29.15625,-185.59375)">
  115. <flowRoot
  116. xml:space="preserve"
  117. id="flowRoot2985"
  118. style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"><flowRegion
  119. id="flowRegion2987"><rect
  120. id="rect2989"
  121. width="82.85714"
  122. height="11.428572"
  123. x="240"
  124. y="492.36218" /></flowRegion><flowPara
  125. id="flowPara2991" /></flowRoot> <g
  126. id="g4433"
  127. transform="translate(2,-12)">
  128. <text
  129. sodipodi:linespacing="125%"
  130. id="text2993"
  131. y="-261.66608"
  132. x="436.12299"
  133. style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
  134. xml:space="preserve"
  135. transform="matrix(0,1,-1,0,0,0)"><tspan
  136. y="-261.66608"
  137. x="436.12299"
  138. id="tspan2995"
  139. sodipodi:role="line">synchronize_rcu()</tspan></text>
  140. <g
  141. id="g4417"
  142. transform="matrix(0,1,-1,0,730.90257,222.4928)">
  143. <path
  144. style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#Arrow2Lstart);marker-end:url(#Arrow2Lend)"
  145. d="M 97.580736,477.4048 327.57913,476.09759"
  146. id="path2997"
  147. inkscape:connector-curvature="0"
  148. sodipodi:nodetypes="cc" />
  149. <path
  150. style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  151. d="m 96.752718,465.38398 0,22.62742"
  152. id="path4397"
  153. inkscape:connector-curvature="0"
  154. sodipodi:nodetypes="cc" />
  155. <path
  156. style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  157. d="m 328.40703,465.38397 0,22.62742"
  158. id="path4397-5"
  159. inkscape:connector-curvature="0"
  160. sodipodi:nodetypes="cc" />
  161. </g>
  162. </g>
  163. <text
  164. xml:space="preserve"
  165. style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
  166. x="112.04738"
  167. y="268.18076"
  168. id="text4429"
  169. sodipodi:linespacing="125%"><tspan
  170. sodipodi:role="line"
  171. id="tspan4431"
  172. x="112.04738"
  173. y="268.18076">WRITE_ONCE(a, 1);</tspan></text>
  174. <text
  175. xml:space="preserve"
  176. style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
  177. x="112.04738"
  178. y="487.13766"
  179. id="text4441"
  180. sodipodi:linespacing="125%"><tspan
  181. sodipodi:role="line"
  182. id="tspan4443"
  183. x="112.04738"
  184. y="487.13766">WRITE_ONCE(b, 1);</tspan></text>
  185. <text
  186. xml:space="preserve"
  187. style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
  188. x="255.60869"
  189. y="297.29346"
  190. id="text4445"
  191. sodipodi:linespacing="125%"><tspan
  192. sodipodi:role="line"
  193. id="tspan4447"
  194. x="255.60869"
  195. y="297.29346">r1 = READ_ONCE(a);</tspan></text>
  196. <text
  197. xml:space="preserve"
  198. style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
  199. x="255.14423"
  200. y="554.61786"
  201. id="text4449"
  202. sodipodi:linespacing="125%"><tspan
  203. sodipodi:role="line"
  204. id="tspan4451"
  205. x="255.14423"
  206. y="554.61786">WRITE_ONCE(c, 1);</tspan></text>
  207. <text
  208. xml:space="preserve"
  209. style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
  210. x="396.10254"
  211. y="370.71124"
  212. id="text4453"
  213. sodipodi:linespacing="125%"><tspan
  214. sodipodi:role="line"
  215. id="tspan4455"
  216. x="396.10254"
  217. y="370.71124">WRITE_ONCE(d, 1);</tspan></text>
  218. <text
  219. xml:space="preserve"
  220. style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
  221. x="396.10254"
  222. y="572.13617"
  223. id="text4457"
  224. sodipodi:linespacing="125%"><tspan
  225. sodipodi:role="line"
  226. id="tspan4459"
  227. x="396.10254"
  228. y="572.13617">r2 = READ_ONCE(c);</tspan></text>
  229. <text
  230. xml:space="preserve"
  231. style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
  232. x="112.08231"
  233. y="213.91006"
  234. id="text4461"
  235. sodipodi:linespacing="125%"><tspan
  236. sodipodi:role="line"
  237. id="tspan4463"
  238. x="112.08231"
  239. y="213.91006">thread0()</tspan></text>
  240. <text
  241. xml:space="preserve"
  242. style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
  243. x="252.34512"
  244. y="213.91006"
  245. id="text4461-6"
  246. sodipodi:linespacing="125%"><tspan
  247. sodipodi:role="line"
  248. id="tspan4463-0"
  249. x="252.34512"
  250. y="213.91006">thread1()</tspan></text>
  251. <text
  252. xml:space="preserve"
  253. style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
  254. x="396.42557"
  255. y="213.91006"
  256. id="text4461-2"
  257. sodipodi:linespacing="125%"><tspan
  258. sodipodi:role="line"
  259. id="tspan4463-2"
  260. x="396.42557"
  261. y="213.91006">thread2()</tspan></text>
  262. <rect
  263. style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
  264. id="rect4495"
  265. width="724.25244"
  266. height="505.21201"
  267. x="34.648232"
  268. y="191.10612" />
  269. <path
  270. style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
  271. d="m 183.14066,191.10612 0,504.24243"
  272. id="path4497"
  273. inkscape:connector-curvature="0"
  274. sodipodi:nodetypes="cc" />
  275. <path
  276. style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
  277. d="m 325.13867,191.10612 0,504.24243"
  278. id="path4497-5"
  279. inkscape:connector-curvature="0"
  280. sodipodi:nodetypes="cc" />
  281. <text
  282. xml:space="preserve"
  283. style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
  284. x="111.75929"
  285. y="251.53981"
  286. id="text4429-8"
  287. sodipodi:linespacing="125%"><tspan
  288. sodipodi:role="line"
  289. id="tspan4431-9"
  290. x="111.75929"
  291. y="251.53981">rcu_read_lock();</tspan></text>
  292. <text
  293. xml:space="preserve"
  294. style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
  295. x="396.10254"
  296. y="353.91556"
  297. id="text4429-8-9"
  298. sodipodi:linespacing="125%"><tspan
  299. sodipodi:role="line"
  300. id="tspan4431-9-4"
  301. x="396.10254"
  302. y="353.91556">rcu_read_lock();</tspan></text>
  303. <text
  304. xml:space="preserve"
  305. style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
  306. x="396.10254"
  307. y="587.40289"
  308. id="text4429-8-9-3"
  309. sodipodi:linespacing="125%"><tspan
  310. sodipodi:role="line"
  311. id="tspan4431-9-4-4"
  312. x="396.10254"
  313. y="587.40289">rcu_read_unlock();</tspan></text>
  314. <text
  315. xml:space="preserve"
  316. style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
  317. x="111.75929"
  318. y="501.15311"
  319. id="text4429-8-9-3-1"
  320. sodipodi:linespacing="125%"><tspan
  321. sodipodi:role="line"
  322. id="tspan4431-9-4-4-6"
  323. x="111.75929"
  324. y="501.15311">rcu_read_unlock();</tspan></text>
  325. <path
  326. style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  327. d="m 33.941125,227.87568 724.941765,0"
  328. id="path4608"
  329. inkscape:connector-curvature="0"
  330. sodipodi:nodetypes="cc" />
  331. <text
  332. xml:space="preserve"
  333. style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
  334. x="394.94427"
  335. y="331.66351"
  336. id="text4648"
  337. sodipodi:linespacing="125%"><tspan
  338. sodipodi:role="line"
  339. id="tspan4650"
  340. x="394.94427"
  341. y="331.66351">QS</tspan></text>
  342. <path
  343. sodipodi:type="arc"
  344. style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
  345. id="path4652"
  346. sodipodi:cx="358.85669"
  347. sodipodi:cy="142.87541"
  348. sodipodi:rx="10.960155"
  349. sodipodi:ry="10.253048"
  350. d="m 358.86939,132.62237 a 10.960155,10.253048 0 1 1 -0.0228,0"
  351. transform="translate(36.441125,185.60612)"
  352. sodipodi:start="4.7135481"
  353. sodipodi:end="10.994651"
  354. sodipodi:open="true" />
  355. <text
  356. xml:space="preserve"
  357. style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
  358. x="112.11968"
  359. y="523.77856"
  360. id="text4648-4"
  361. sodipodi:linespacing="125%"><tspan
  362. sodipodi:role="line"
  363. id="tspan4650-4"
  364. x="112.11968"
  365. y="523.77856">QS</tspan></text>
  366. <path
  367. sodipodi:type="arc"
  368. style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
  369. id="path4652-7"
  370. sodipodi:cx="358.85669"
  371. sodipodi:cy="142.87541"
  372. sodipodi:rx="10.960155"
  373. sodipodi:ry="10.253048"
  374. d="m 358.86939,132.62237 a 10.960155,10.253048 0 1 1 -0.0228,0"
  375. transform="translate(-246.38346,377.72117)"
  376. sodipodi:start="4.7135481"
  377. sodipodi:end="10.994651"
  378. sodipodi:open="true" />
  379. <path
  380. sodipodi:type="arc"
  381. style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
  382. id="path4652-7-7"
  383. sodipodi:cx="358.85669"
  384. sodipodi:cy="142.87541"
  385. sodipodi:rx="10.960155"
  386. sodipodi:ry="10.253048"
  387. d="m 358.86939,132.62237 a 10.960155,10.253048 0 1 1 -0.0228,0"
  388. transform="translate(-103.65246,190.90878)"
  389. sodipodi:start="4.7135481"
  390. sodipodi:end="10.994651"
  391. sodipodi:open="true" />
  392. <text
  393. xml:space="preserve"
  394. style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
  395. x="254.85066"
  396. y="336.96619"
  397. id="text4648-4-3"
  398. sodipodi:linespacing="125%"><tspan
  399. sodipodi:role="line"
  400. id="tspan4650-4-5"
  401. x="254.85066"
  402. y="336.96619">QS</tspan></text>
  403. <path
  404. style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
  405. d="m 470.93311,190.39903 0,504.24243"
  406. id="path4497-5-6"
  407. inkscape:connector-curvature="0"
  408. sodipodi:nodetypes="cc" />
  409. <path
  410. style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
  411. d="m 616.22755,190.38323 0,504.24243"
  412. id="path4497-5-2"
  413. inkscape:connector-curvature="0"
  414. sodipodi:nodetypes="cc" />
  415. <g
  416. id="g4433-6"
  417. transform="translate(288.0964,78.32827)">
  418. <text
  419. sodipodi:linespacing="125%"
  420. id="text2993-7"
  421. y="-261.66608"
  422. x="440.12299"
  423. style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
  424. xml:space="preserve"
  425. transform="matrix(0,1,-1,0,0,0)"><tspan
  426. y="-261.66608"
  427. x="440.12299"
  428. id="tspan2995-1"
  429. sodipodi:role="line">synchronize_rcu()</tspan></text>
  430. <g
  431. id="g4417-1"
  432. transform="matrix(0,1,-1,0,730.90257,222.4928)">
  433. <path
  434. style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#Arrow2Lstart);marker-end:url(#Arrow2Lend)"
  435. d="M 97.580736,477.4048 328.5624,477.07246"
  436. id="path2997-2"
  437. inkscape:connector-curvature="0"
  438. sodipodi:nodetypes="cc" />
  439. <path
  440. style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  441. d="m 96.752718,465.38398 0,22.62742"
  442. id="path4397-3"
  443. inkscape:connector-curvature="0"
  444. sodipodi:nodetypes="cc" />
  445. <path
  446. style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  447. d="m 329.39039,465.38397 0,22.62742"
  448. id="path4397-5-4"
  449. inkscape:connector-curvature="0"
  450. sodipodi:nodetypes="cc" />
  451. </g>
  452. </g>
  453. <text
  454. xml:space="preserve"
  455. style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
  456. x="541.70508"
  457. y="387.6217"
  458. id="text4445-0"
  459. sodipodi:linespacing="125%"><tspan
  460. sodipodi:role="line"
  461. id="tspan4447-5"
  462. x="541.70508"
  463. y="387.6217">r3 = READ_ONCE(d);</tspan></text>
  464. <text
  465. xml:space="preserve"
  466. style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
  467. x="541.2406"
  468. y="646.94611"
  469. id="text4449-6"
  470. sodipodi:linespacing="125%"><tspan
  471. sodipodi:role="line"
  472. id="tspan4451-6"
  473. x="541.2406"
  474. y="646.94611">WRITE_ONCE(e, 1);</tspan></text>
  475. <path
  476. sodipodi:type="arc"
  477. style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
  478. id="path4652-7-7-5"
  479. sodipodi:cx="358.85669"
  480. sodipodi:cy="142.87541"
  481. sodipodi:rx="10.960155"
  482. sodipodi:ry="10.253048"
  483. d="m 358.86939,132.62237 a 10.960155,10.253048 0 1 1 -0.0228,0"
  484. transform="translate(182.44393,281.23704)"
  485. sodipodi:start="4.7135481"
  486. sodipodi:end="10.994651"
  487. sodipodi:open="true" />
  488. <text
  489. xml:space="preserve"
  490. style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
  491. x="540.94702"
  492. y="427.29443"
  493. id="text4648-4-3-1"
  494. sodipodi:linespacing="125%"><tspan
  495. sodipodi:role="line"
  496. id="tspan4650-4-5-7"
  497. x="540.94702"
  498. y="427.29443">QS</tspan></text>
  499. <text
  500. xml:space="preserve"
  501. style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
  502. x="686.27747"
  503. y="461.83929"
  504. id="text4453-7"
  505. sodipodi:linespacing="125%"><tspan
  506. sodipodi:role="line"
  507. id="tspan4455-1"
  508. x="686.27747"
  509. y="461.83929">r4 = READ_ONCE(b);</tspan></text>
  510. <text
  511. xml:space="preserve"
  512. style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
  513. x="686.27747"
  514. y="669.26422"
  515. id="text4457-9"
  516. sodipodi:linespacing="125%"><tspan
  517. sodipodi:role="line"
  518. id="tspan4459-2"
  519. x="686.27747"
  520. y="669.26422">r5 = READ_ONCE(e);</tspan></text>
  521. <text
  522. xml:space="preserve"
  523. style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
  524. x="686.27747"
  525. y="445.04358"
  526. id="text4429-8-9-33"
  527. sodipodi:linespacing="125%"><tspan
  528. sodipodi:role="line"
  529. id="tspan4431-9-4-2"
  530. x="686.27747"
  531. y="445.04358">rcu_read_lock();</tspan></text>
  532. <text
  533. xml:space="preserve"
  534. style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
  535. x="686.27747"
  536. y="684.53094"
  537. id="text4429-8-9-3-8"
  538. sodipodi:linespacing="125%"><tspan
  539. sodipodi:role="line"
  540. id="tspan4431-9-4-4-5"
  541. x="686.27747"
  542. y="684.53094">rcu_read_unlock();</tspan></text>
  543. <text
  544. xml:space="preserve"
  545. style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
  546. x="685.11914"
  547. y="422.79153"
  548. id="text4648-9"
  549. sodipodi:linespacing="125%"><tspan
  550. sodipodi:role="line"
  551. id="tspan4650-7"
  552. x="685.11914"
  553. y="422.79153">QS</tspan></text>
  554. <path
  555. sodipodi:type="arc"
  556. style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
  557. id="path4652-8"
  558. sodipodi:cx="358.85669"
  559. sodipodi:cy="142.87541"
  560. sodipodi:rx="10.960155"
  561. sodipodi:ry="10.253048"
  562. d="m 358.86939,132.62237 a 10.960155,10.253048 0 1 1 -0.0228,0"
  563. transform="translate(326.61602,276.73415)"
  564. sodipodi:start="4.7135481"
  565. sodipodi:end="10.994651"
  566. sodipodi:open="true" />
  567. <text
  568. xml:space="preserve"
  569. style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
  570. x="397.85934"
  571. y="609.59003"
  572. id="text4648-5"
  573. sodipodi:linespacing="125%"><tspan
  574. sodipodi:role="line"
  575. id="tspan4650-77"
  576. x="397.85934"
  577. y="609.59003">QS</tspan></text>
  578. <path
  579. sodipodi:type="arc"
  580. style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
  581. id="path4652-80"
  582. sodipodi:cx="358.85669"
  583. sodipodi:cy="142.87541"
  584. sodipodi:rx="10.960155"
  585. sodipodi:ry="10.253048"
  586. d="m 358.86939,132.62237 a 10.960155,10.253048 0 1 1 -0.0228,0"
  587. transform="translate(39.356201,463.53264)"
  588. sodipodi:start="4.7135481"
  589. sodipodi:end="10.994651"
  590. sodipodi:open="true" />
  591. <text
  592. xml:space="preserve"
  593. style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
  594. x="256.75986"
  595. y="586.99133"
  596. id="text4648-5-2"
  597. sodipodi:linespacing="125%"><tspan
  598. sodipodi:role="line"
  599. id="tspan4650-77-7"
  600. x="256.75986"
  601. y="586.99133">QS</tspan></text>
  602. <path
  603. sodipodi:type="arc"
  604. style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
  605. id="path4652-80-5"
  606. sodipodi:cx="358.85669"
  607. sodipodi:cy="142.87541"
  608. sodipodi:rx="10.960155"
  609. sodipodi:ry="10.253048"
  610. d="m 358.86939,132.62237 a 10.960155,10.253048 0 1 1 -0.0228,0"
  611. transform="translate(-101.74328,440.93395)"
  612. sodipodi:start="4.7135481"
  613. sodipodi:end="10.994651"
  614. sodipodi:open="true" />
  615. <text
  616. xml:space="preserve"
  617. style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
  618. x="546.22791"
  619. y="213.91006"
  620. id="text4461-2-5"
  621. sodipodi:linespacing="125%"><tspan
  622. sodipodi:role="line"
  623. id="tspan4463-2-6"
  624. x="546.22791"
  625. y="213.91006">thread3()</tspan></text>
  626. <text
  627. xml:space="preserve"
  628. style="font-size:10px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Symbol;-inkscape-font-specification:Symbol"
  629. x="684.00067"
  630. y="213.91006"
  631. id="text4461-2-1"
  632. sodipodi:linespacing="125%"><tspan
  633. sodipodi:role="line"
  634. id="tspan4463-2-0"
  635. x="684.00067"
  636. y="213.91006">thread4()</tspan></text>
  637. </g>
  638. </svg>