GPpartitionReaders1.svg 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375
  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="447.99197"
  12. height="428.19299"
  13. id="svg2"
  14. version="1.1"
  15. inkscape:version="0.48.3.1 r9886"
  16. sodipodi:docname="GPpartitionReaders1.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. </defs>
  48. <sodipodi:namedview
  49. id="base"
  50. pagecolor="#ffffff"
  51. bordercolor="#666666"
  52. borderopacity="1.0"
  53. inkscape:pageopacity="0.0"
  54. inkscape:pageshadow="2"
  55. inkscape:zoom="1.6184291"
  56. inkscape:cx="223.99599"
  57. inkscape:cy="214.0965"
  58. inkscape:document-units="px"
  59. inkscape:current-layer="layer1"
  60. showgrid="false"
  61. inkscape:window-width="979"
  62. inkscape:window-height="836"
  63. inkscape:window-x="571"
  64. inkscape:window-y="335"
  65. inkscape:window-maximized="0"
  66. fit-margin-top="5"
  67. fit-margin-left="5"
  68. fit-margin-right="5"
  69. fit-margin-bottom="5" />
  70. <metadata
  71. id="metadata7">
  72. <rdf:RDF>
  73. <cc:Work
  74. rdf:about="">
  75. <dc:format>image/svg+xml</dc:format>
  76. <dc:type
  77. rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
  78. <dc:title></dc:title>
  79. </cc:Work>
  80. </rdf:RDF>
  81. </metadata>
  82. <g
  83. inkscape:label="Layer 1"
  84. inkscape:groupmode="layer"
  85. id="layer1"
  86. transform="translate(-28.441125,-185.60612)">
  87. <flowRoot
  88. xml:space="preserve"
  89. id="flowRoot2985"
  90. 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
  91. id="flowRegion2987"><rect
  92. id="rect2989"
  93. width="82.85714"
  94. height="11.428572"
  95. x="240"
  96. y="492.36218" /></flowRegion><flowPara
  97. id="flowPara2991"></flowPara></flowRoot> <g
  98. id="g4433"
  99. transform="translate(2,0)">
  100. <text
  101. sodipodi:linespacing="125%"
  102. id="text2993"
  103. y="-261.66608"
  104. x="412.12299"
  105. 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"
  106. xml:space="preserve"
  107. transform="matrix(0,1,-1,0,0,0)"><tspan
  108. y="-261.66608"
  109. x="412.12299"
  110. id="tspan2995"
  111. sodipodi:role="line">synchronize_rcu()</tspan></text>
  112. <g
  113. id="g4417"
  114. transform="matrix(0,1,-1,0,730.90257,222.4928)">
  115. <path
  116. 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)"
  117. d="m 97.580736,477.4048 183.140664,0"
  118. id="path2997"
  119. inkscape:connector-curvature="0"
  120. sodipodi:nodetypes="cc" />
  121. <path
  122. style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  123. d="m 96.752718,465.38398 0,22.62742"
  124. id="path4397"
  125. inkscape:connector-curvature="0"
  126. sodipodi:nodetypes="cc" />
  127. <path
  128. style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  129. d="m 281.54942,465.38397 0,22.62742"
  130. id="path4397-5"
  131. inkscape:connector-curvature="0"
  132. sodipodi:nodetypes="cc" />
  133. </g>
  134. </g>
  135. <text
  136. xml:space="preserve"
  137. 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"
  138. x="112.04738"
  139. y="268.18076"
  140. id="text4429"
  141. sodipodi:linespacing="125%"><tspan
  142. sodipodi:role="line"
  143. id="tspan4431"
  144. x="112.04738"
  145. y="268.18076">WRITE_ONCE(a, 1);</tspan></text>
  146. <text
  147. xml:space="preserve"
  148. 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"
  149. x="112.04738"
  150. y="439.13766"
  151. id="text4441"
  152. sodipodi:linespacing="125%"><tspan
  153. sodipodi:role="line"
  154. id="tspan4443"
  155. x="112.04738"
  156. y="439.13766">WRITE_ONCE(b, 1);</tspan></text>
  157. <text
  158. xml:space="preserve"
  159. 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"
  160. x="255.60869"
  161. y="309.29346"
  162. id="text4445"
  163. sodipodi:linespacing="125%"><tspan
  164. sodipodi:role="line"
  165. id="tspan4447"
  166. x="255.60869"
  167. y="309.29346">r1 = READ_ONCE(a);</tspan></text>
  168. <text
  169. xml:space="preserve"
  170. 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"
  171. x="255.14423"
  172. y="520.61786"
  173. id="text4449"
  174. sodipodi:linespacing="125%"><tspan
  175. sodipodi:role="line"
  176. id="tspan4451"
  177. x="255.14423"
  178. y="520.61786">WRITE_ONCE(c, 1);</tspan></text>
  179. <text
  180. xml:space="preserve"
  181. 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"
  182. x="396.10254"
  183. y="384.71124"
  184. id="text4453"
  185. sodipodi:linespacing="125%"><tspan
  186. sodipodi:role="line"
  187. id="tspan4455"
  188. x="396.10254"
  189. y="384.71124">r2 = READ_ONCE(b);</tspan></text>
  190. <text
  191. xml:space="preserve"
  192. 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"
  193. x="396.10254"
  194. y="582.13617"
  195. id="text4457"
  196. sodipodi:linespacing="125%"><tspan
  197. sodipodi:role="line"
  198. id="tspan4459"
  199. x="396.10254"
  200. y="582.13617">r3 = READ_ONCE(c);</tspan></text>
  201. <text
  202. xml:space="preserve"
  203. 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"
  204. x="112.08231"
  205. y="213.91006"
  206. id="text4461"
  207. sodipodi:linespacing="125%"><tspan
  208. sodipodi:role="line"
  209. id="tspan4463"
  210. x="112.08231"
  211. y="213.91006">thread0()</tspan></text>
  212. <text
  213. xml:space="preserve"
  214. 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"
  215. x="252.34512"
  216. y="213.91006"
  217. id="text4461-6"
  218. sodipodi:linespacing="125%"><tspan
  219. sodipodi:role="line"
  220. id="tspan4463-0"
  221. x="252.34512"
  222. y="213.91006">thread1()</tspan></text>
  223. <text
  224. xml:space="preserve"
  225. 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"
  226. x="396.42557"
  227. y="213.91006"
  228. id="text4461-2"
  229. sodipodi:linespacing="125%"><tspan
  230. sodipodi:role="line"
  231. id="tspan4463-2"
  232. x="396.42557"
  233. y="213.91006">thread2()</tspan></text>
  234. <rect
  235. style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
  236. id="rect4495"
  237. width="436.28488"
  238. height="416.4859"
  239. x="34.648232"
  240. y="191.10612" />
  241. <path
  242. 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"
  243. d="m 183.14066,191.10612 0,417.193 -0.70711,0"
  244. id="path4497"
  245. inkscape:connector-curvature="0" />
  246. <path
  247. 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"
  248. d="m 325.13867,191.10612 0,417.193 -0.70711,0"
  249. id="path4497-5"
  250. inkscape:connector-curvature="0" />
  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="111.75929"
  255. y="251.53981"
  256. id="text4429-8"
  257. sodipodi:linespacing="125%"><tspan
  258. sodipodi:role="line"
  259. id="tspan4431-9"
  260. x="111.75929"
  261. y="251.53981">rcu_read_lock();</tspan></text>
  262. <text
  263. xml:space="preserve"
  264. 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"
  265. x="396.10254"
  266. y="367.91556"
  267. id="text4429-8-9"
  268. sodipodi:linespacing="125%"><tspan
  269. sodipodi:role="line"
  270. id="tspan4431-9-4"
  271. x="396.10254"
  272. y="367.91556">rcu_read_lock();</tspan></text>
  273. <text
  274. xml:space="preserve"
  275. 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"
  276. x="396.10254"
  277. y="597.40289"
  278. id="text4429-8-9-3"
  279. sodipodi:linespacing="125%"><tspan
  280. sodipodi:role="line"
  281. id="tspan4431-9-4-4"
  282. x="396.10254"
  283. y="597.40289">rcu_read_unlock();</tspan></text>
  284. <text
  285. xml:space="preserve"
  286. 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"
  287. x="111.75929"
  288. y="453.15311"
  289. id="text4429-8-9-3-1"
  290. sodipodi:linespacing="125%"><tspan
  291. sodipodi:role="line"
  292. id="tspan4431-9-4-4-6"
  293. x="111.75929"
  294. y="453.15311">rcu_read_unlock();</tspan></text>
  295. <path
  296. style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  297. d="m 33.941125,227.87568 436.284885,0 0,0.7071"
  298. id="path4608"
  299. inkscape:connector-curvature="0" />
  300. <text
  301. xml:space="preserve"
  302. 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"
  303. x="394.94427"
  304. y="345.66351"
  305. id="text4648"
  306. sodipodi:linespacing="125%"><tspan
  307. sodipodi:role="line"
  308. id="tspan4650"
  309. x="394.94427"
  310. y="345.66351">QS</tspan></text>
  311. <path
  312. sodipodi:type="arc"
  313. style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
  314. id="path4652"
  315. sodipodi:cx="358.85669"
  316. sodipodi:cy="142.87541"
  317. sodipodi:rx="10.960155"
  318. sodipodi:ry="10.253048"
  319. d="m 358.86939,132.62237 a 10.960155,10.253048 0 1 1 -0.0228,0"
  320. transform="translate(36.441125,199.60612)"
  321. sodipodi:start="4.7135481"
  322. sodipodi:end="10.994651"
  323. sodipodi:open="true" />
  324. <text
  325. xml:space="preserve"
  326. 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"
  327. x="112.11968"
  328. y="475.77856"
  329. id="text4648-4"
  330. sodipodi:linespacing="125%"><tspan
  331. sodipodi:role="line"
  332. id="tspan4650-4"
  333. x="112.11968"
  334. y="475.77856">QS</tspan></text>
  335. <path
  336. sodipodi:type="arc"
  337. style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
  338. id="path4652-7"
  339. sodipodi:cx="358.85669"
  340. sodipodi:cy="142.87541"
  341. sodipodi:rx="10.960155"
  342. sodipodi:ry="10.253048"
  343. d="m 358.86939,132.62237 a 10.960155,10.253048 0 1 1 -0.0228,0"
  344. transform="translate(-246.38346,329.72117)"
  345. sodipodi:start="4.7135481"
  346. sodipodi:end="10.994651"
  347. sodipodi:open="true" />
  348. <path
  349. sodipodi:type="arc"
  350. style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
  351. id="path4652-7-7"
  352. sodipodi:cx="358.85669"
  353. sodipodi:cy="142.87541"
  354. sodipodi:rx="10.960155"
  355. sodipodi:ry="10.253048"
  356. d="m 358.86939,132.62237 a 10.960155,10.253048 0 1 1 -0.0228,0"
  357. transform="translate(-103.65246,202.90878)"
  358. sodipodi:start="4.7135481"
  359. sodipodi:end="10.994651"
  360. sodipodi:open="true" />
  361. <text
  362. xml:space="preserve"
  363. 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"
  364. x="254.85066"
  365. y="348.96619"
  366. id="text4648-4-3"
  367. sodipodi:linespacing="125%"><tspan
  368. sodipodi:role="line"
  369. id="tspan4650-4-5"
  370. x="254.85066"
  371. y="348.96619">QS</tspan></text>
  372. </g>
  373. </svg>