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