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