1 <?xml version=
"1.0" encoding=
"UTF-8" standalone=
"no"?>
2 <!-- Created with Inkscape (http://www.inkscape.org/) -->
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"
16 inkscape:
version=
"0.48.3.1 r9886"
17 sodipodi:
docname=
"GPpartitionReaders1.svg">
21 inkscape:
stockid=
"Arrow2Lend"
26 style=
"overflow:visible">
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" />
35 inkscape:
stockid=
"Arrow2Lstart"
40 style=
"overflow:visible">
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" />
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"
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"
70 fit-margin-bottom=
"5" />
76 <dc:format>image/svg+xml
</dc:format>
78 rdf:
resource=
"http://purl.org/dc/dcmitype/StillImage" />
84 inkscape:
label=
"Layer 1"
85 inkscape:
groupmode=
"layer"
87 transform=
"translate(-28.441125,-185.60612)">
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
97 y=
"492.36218" /></flowRegion><flowPara
98 id=
"flowPara2991"></flowPara></flowRoot> <g
100 transform=
"translate(2,0)">
102 sodipodi:
linespacing=
"125%"
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"
108 transform=
"matrix(0,1,-1,0,0,0)"><tspan
112 sodipodi:
role=
"line">synchronize_rcu()
</tspan></text>
115 transform=
"matrix(0,1,-1,0,730.90257,222.4928)">
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"
120 inkscape:
connector-curvature=
"0"
121 sodipodi:
nodetypes=
"cc" />
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"
126 inkscape:
connector-curvature=
"0"
127 sodipodi:
nodetypes=
"cc" />
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"
132 inkscape:
connector-curvature=
"0"
133 sodipodi:
nodetypes=
"cc" />
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"
142 sodipodi:
linespacing=
"125%"><tspan
146 y=
"268.18076">WRITE_ONCE(a,
1);
</tspan></text>
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"
153 sodipodi:
linespacing=
"125%"><tspan
157 y=
"439.13766">WRITE_ONCE(b,
1);
</tspan></text>
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"
164 sodipodi:
linespacing=
"125%"><tspan
168 y=
"309.29346">r1 = READ_ONCE(a);
</tspan></text>
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"
175 sodipodi:
linespacing=
"125%"><tspan
179 y=
"520.61786">WRITE_ONCE(c,
1);
</tspan></text>
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"
186 sodipodi:
linespacing=
"125%"><tspan
190 y=
"384.71124">r2 = READ_ONCE(b);
</tspan></text>
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"
197 sodipodi:
linespacing=
"125%"><tspan
201 y=
"582.13617">r3 = READ_ONCE(c);
</tspan></text>
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"
208 sodipodi:
linespacing=
"125%"><tspan
212 y=
"213.91006">thread0()
</tspan></text>
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"
219 sodipodi:
linespacing=
"125%"><tspan
223 y=
"213.91006">thread1()
</tspan></text>
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"
230 sodipodi:
linespacing=
"125%"><tspan
234 y=
"213.91006">thread2()
</tspan></text>
236 style=
"fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
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"
246 inkscape:
connector-curvature=
"0" />
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"
251 inkscape:
connector-curvature=
"0" />
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"
258 sodipodi:
linespacing=
"125%"><tspan
262 y=
"251.53981">rcu_read_lock();
</tspan></text>
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"
269 sodipodi:
linespacing=
"125%"><tspan
273 y=
"367.91556">rcu_read_lock();
</tspan></text>
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"
280 sodipodi:
linespacing=
"125%"><tspan
284 y=
"597.40289">rcu_read_unlock();
</tspan></text>
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"
290 id=
"text4429-8-9-3-1"
291 sodipodi:
linespacing=
"125%"><tspan
293 id=
"tspan4431-9-4-4-6"
295 y=
"453.15311">rcu_read_unlock();
</tspan></text>
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"
300 inkscape:
connector-curvature=
"0" />
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"
307 sodipodi:
linespacing=
"125%"><tspan
311 y=
"345.66351">QS
</tspan></text>
314 style=
"fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
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" />
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"
331 sodipodi:
linespacing=
"125%"><tspan
335 y=
"475.77856">QS
</tspan></text>
338 style=
"fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
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" />
351 style=
"fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
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" />
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"
368 sodipodi:
linespacing=
"125%"><tspan
372 y=
"348.96619">QS
</tspan></text>