xref: /linux/Documentation/RCU/Design/Memory-Ordering/TreeRCU-callback-invocation.svg (revision bd628c1bed7902ec1f24ba0fe70758949146abbe)
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<!-- Creator: fig2dev Version 3.2 Patchlevel 5e -->
3
4<!-- CreationDate: Wed Dec  9 17:35:03 2015 -->
5
6<!-- Magnification: 2.000 -->
7
8<svg
9   xmlns:dc="http://purl.org/dc/elements/1.1/"
10   xmlns:cc="http://creativecommons.org/ns#"
11   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
12   xmlns:svg="http://www.w3.org/2000/svg"
13   xmlns="http://www.w3.org/2000/svg"
14   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
15   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
16   width="592.12805"
17   height="469.83038"
18   viewBox="-44 -44 7874.1949 6244.9802"
19   id="svg2"
20   version="1.1"
21   inkscape:version="0.48.4 r9939"
22   sodipodi:docname="TreeRCU-callback-invocation.svg">
23  <metadata
24     id="metadata212">
25    <rdf:RDF>
26      <cc:Work
27         rdf:about="">
28        <dc:format>image/svg+xml</dc:format>
29        <dc:type
30           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
31        <dc:title />
32      </cc:Work>
33    </rdf:RDF>
34  </metadata>
35  <defs
36     id="defs210">
37    <marker
38       inkscape:stockid="Arrow1Send"
39       orient="auto"
40       refY="0"
41       refX="0"
42       id="Arrow1Send"
43       style="overflow:visible">
44      <path
45         id="path3940"
46         d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
47         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
48         transform="matrix(-0.2,0,0,-0.2,-1.2,0)"
49         inkscape:connector-curvature="0" />
50    </marker>
51    <marker
52       inkscape:stockid="TriangleOutS"
53       orient="auto"
54       refY="0"
55       refX="0"
56       id="TriangleOutS"
57       style="overflow:visible">
58      <path
59         id="path4073"
60         d="m 5.77,0 -8.65,5 0,-10 8.65,5 z"
61         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
62         transform="scale(0.2,0.2)"
63         inkscape:connector-curvature="0" />
64    </marker>
65    <marker
66       inkscape:stockid="TriangleOutM"
67       orient="auto"
68       refY="0"
69       refX="0"
70       id="TriangleOutM"
71       style="overflow:visible">
72      <path
73         id="path4070"
74         d="m 5.77,0 -8.65,5 0,-10 8.65,5 z"
75         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
76         transform="scale(0.4,0.4)"
77         inkscape:connector-curvature="0" />
78    </marker>
79    <marker
80       inkscape:stockid="Arrow2Mend"
81       orient="auto"
82       refY="0"
83       refX="0"
84       id="Arrow2Mend"
85       style="overflow:visible">
86      <path
87         id="path3952"
88         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
89         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"
90         transform="scale(-0.6,-0.6)"
91         inkscape:connector-curvature="0" />
92    </marker>
93    <marker
94       inkscape:stockid="Arrow2Lend"
95       orient="auto"
96       refY="0"
97       refX="0"
98       id="Arrow2Lend"
99       style="overflow:visible">
100      <path
101         id="path3946"
102         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
103         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"
104         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
105         inkscape:connector-curvature="0" />
106    </marker>
107    <marker
108       inkscape:stockid="Arrow1Mend"
109       orient="auto"
110       refY="0"
111       refX="0"
112       id="Arrow1Mend"
113       style="overflow:visible">
114      <path
115         id="path3970"
116         d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
117         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
118         transform="matrix(-0.4,0,0,-0.4,-4,0)"
119         inkscape:connector-curvature="0" />
120    </marker>
121    <marker
122       inkscape:stockid="Arrow2Mend"
123       orient="auto"
124       refY="0"
125       refX="0"
126       id="Arrow2Mend-7"
127       style="overflow:visible">
128      <path
129         inkscape:connector-curvature="0"
130         id="path3952-0"
131         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
132         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"
133         transform="scale(-0.6,-0.6)" />
134    </marker>
135    <marker
136       inkscape:stockid="Arrow1Send"
137       orient="auto"
138       refY="0"
139       refX="0"
140       id="Arrow1Send-3"
141       style="overflow:visible">
142      <path
143         inkscape:connector-curvature="0"
144         id="path3940-6"
145         d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
146         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
147         transform="matrix(-0.2,0,0,-0.2,-1.2,0)" />
148    </marker>
149    <marker
150       inkscape:stockid="Arrow1Send"
151       orient="auto"
152       refY="0"
153       refX="0"
154       id="Arrow1Send-1"
155       style="overflow:visible">
156      <path
157         inkscape:connector-curvature="0"
158         id="path3940-2"
159         d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
160         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
161         transform="matrix(-0.2,0,0,-0.2,-1.2,0)" />
162    </marker>
163    <marker
164       inkscape:stockid="Arrow1Send"
165       orient="auto"
166       refY="0"
167       refX="0"
168       id="Arrow1Send-0"
169       style="overflow:visible">
170      <path
171         inkscape:connector-curvature="0"
172         id="path3940-9"
173         d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
174         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
175         transform="matrix(-0.2,0,0,-0.2,-1.2,0)" />
176    </marker>
177  </defs>
178  <sodipodi:namedview
179     pagecolor="#ffffff"
180     bordercolor="#666666"
181     borderopacity="1"
182     objecttolerance="10"
183     gridtolerance="10"
184     guidetolerance="10"
185     inkscape:pageopacity="0"
186     inkscape:pageshadow="2"
187     inkscape:window-width="1087"
188     inkscape:window-height="1144"
189     id="namedview208"
190     showgrid="true"
191     inkscape:zoom="1.2009216"
192     inkscape:cx="289.88715"
193     inkscape:cy="219.06265"
194     inkscape:window-x="713"
195     inkscape:window-y="28"
196     inkscape:window-maximized="0"
197     inkscape:current-layer="g3058"
198     fit-margin-top="5"
199     fit-margin-right="5"
200     fit-margin-left="5"
201     fit-margin-bottom="5">
202    <inkscape:grid
203       type="xygrid"
204       id="grid3079"
205       empspacing="5"
206       visible="true"
207       enabled="true"
208       snapvisiblegridlinesonly="true"
209       originx="-116.00011px"
210       originy="-87.2081px" />
211  </sodipodi:namedview>
212  <g
213     style="fill:none;stroke-width:0.025in"
214     id="g4"
215     transform="translate(-2296.0293,-2364.1166)">
216    <path
217       style="fill:none;stroke:#969696;stroke-width:53.19251633;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Send)"
218       d="m 6161.6776,2411.7612 0,4920.3076"
219       id="path3134-9-0-3"
220       inkscape:connector-curvature="0"
221       sodipodi:nodetypes="cc" />
222    <path
223       style="fill:none;stroke:#969696;stroke-width:53.19251633;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Send)"
224       d="m 6161.6776,4672.443 -2393.6631,0.5116 0,1196.8316 2393.6631,-0.5116"
225       id="path3134-9-0"
226       inkscape:connector-curvature="0"
227       sodipodi:nodetypes="cccc" />
228    <path
229       style="fill:none;stroke:#969696;stroke-width:53.19251633;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Send)"
230       d="m 6161.6776,4672.443 2393.6631,0.5116 0,1196.8316 -2393.6631,-0.5116"
231       id="path3134-9-0-7"
232       inkscape:connector-curvature="0"
233       sodipodi:nodetypes="cccc" />
234    <!-- Line: box -->
235    <!-- Line: box -->
236    <!-- Line: box -->
237    <!-- Line -->
238    <!-- Arrowhead on XXXpoint 5250 8100 - 5710 5790-->
239    <!-- Line -->
240    <!-- Arrowhead on XXXpoint 4050 9300 - 4512 7140-->
241    <!-- Line -->
242    <!-- Arrowhead on XXXpoint 1040 9300 - 1502 7140-->
243    <!-- Line -->
244    <!-- Arrowhead on XXXpoint 2240 8100 - 2702 5940-->
245    <!-- Line: box -->
246    <!-- Line: box -->
247    <!-- Line -->
248    <!-- Arrowhead on XXXpoint 1350 3450 - 2444 2510-->
249    <!-- Line -->
250    <!-- Arrowhead on XXXpoint 4950 3450 - 3854 2510-->
251    <!-- Line -->
252    <!-- Arrowhead on XXXpoint 4050 6600 - 4050 4290-->
253    <!-- Line -->
254    <!-- Arrowhead on XXXpoint 1050 6600 - 1050 4290-->
255    <!-- Line -->
256    <!-- Arrowhead on XXXpoint 2250 5400 - 2250 4290-->
257    <!-- Line -->
258    <!-- Arrowhead on XXXpoint 2250 8100 - 2250 6240-->
259    <!-- Line -->
260    <!-- Arrowhead on XXXpoint 1050 9300 - 1050 7440-->
261    <!-- Line -->
262    <!-- Arrowhead on XXXpoint 4050 9300 - 4050 7440-->
263    <!-- Line -->
264    <!-- Arrowhead on XXXpoint 5250 8100 - 5250 6240-->
265    <!-- Circle -->
266    <!-- Circle -->
267    <!-- Circle -->
268    <!-- Circle -->
269    <!-- Circle -->
270    <!-- Circle -->
271    <!-- Circle -->
272    <!-- Circle -->
273    <!-- Circle -->
274    <!-- Line: box -->
275    <!-- Line: box -->
276    <!-- Line: box -->
277    <!-- Line: box -->
278    <!-- Line: box -->
279    <!-- Line: box -->
280    <!-- Line: box -->
281    <!-- Line: box -->
282    <!-- Line: box -->
283    <!-- Line: box -->
284    <!-- Line -->
285    <!-- Line -->
286    <!-- Arrowhead on XXXpoint 9300 3150 - 10860 3150-->
287    <!-- Line: box -->
288    <!-- Line -->
289    <!-- Arrowhead on XXXpoint 11400 3600 - 11400 4410-->
290    <!-- Line: box -->
291    <!-- Line -->
292    <!-- Arrowhead on XXXpoint 11400 5100 - 11400 5910-->
293    <!-- Line: box -->
294    <!-- Line -->
295    <!-- Arrowhead on XXXpoint 9900 4650 - 10860 4650-->
296    <!-- Line -->
297    <!-- Arrowhead on XXXpoint 9600 6150 - 10860 6150-->
298    <!-- Text -->
299    <!-- Text -->
300    <!-- Text -->
301    <!-- Text -->
302    <!-- Text -->
303    <!-- Text -->
304    <!-- Text -->
305    <!-- Text -->
306    <!-- Text -->
307    <!-- Text -->
308    <!-- Text -->
309    <!-- Text -->
310    <!-- Text -->
311    <!-- Text -->
312    <!-- Text -->
313    <!-- Text -->
314    <!-- Text -->
315    <!-- Text -->
316    <!-- Text -->
317    <!-- Text -->
318    <!-- Text -->
319    <!-- Text -->
320    <!-- Text -->
321    <!-- Text -->
322    <!-- Text -->
323    <!-- Text -->
324    <!-- Line -->
325    <!-- Arrowhead on XXXpoint 5250 5400 - 5250 4290-->
326    <!-- Line: box -->
327    <!-- Line: box -->
328    <!-- Line: box -->
329    <!-- Line: box -->
330    <!-- Text -->
331    <!-- Text -->
332    <!-- Text -->
333    <!-- Text -->
334    <!-- Text -->
335    <rect
336       x="2333.5203"
337       y="5109.5566"
338       width="2844.0974"
339       height="360.77411"
340       rx="0"
341       style="fill:none;stroke:#000000;stroke-width:30.00057983;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:30.0005789, 60.00115781;stroke-dashoffset:0"
342       id="rect118-3"
343       ry="0" />
344    <text
345       xml:space="preserve"
346       x="2562.135"
347       y="5357.9937"
348       font-style="normal"
349       font-weight="bold"
350       font-size="192"
351       id="text202-7-5"
352       style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">rcu_check_callbacks()</text>
353    <rect
354       x="7069.6187"
355       y="5087.4678"
356       width="2975.115"
357       height="382.86298"
358       rx="0"
359       style="fill:none;stroke:#000000;stroke-width:30.00057983;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:30.00057902, 60.00115804;stroke-dashoffset:0"
360       id="rect118-36"
361       ry="0" />
362    <text
363       xml:space="preserve"
364       x="7165.2524"
365       y="5333.4927"
366       font-style="normal"
367       font-weight="bold"
368       font-size="192"
369       id="text202-7-9-6"
370       style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">rcu_cleanup_after_idle()</text>
371    <g
372       id="g3058"
373       transform="translate(-53.192514,-2819.2063)">
374      <text
375         style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;font-family:Courier"
376         id="text202"
377         font-size="192"
378         font-weight="bold"
379         font-style="normal"
380         y="6532.0293"
381         x="5073.3374"
382         xml:space="preserve">rcu_advance_cbs()</text>
383      <rect
384         id="rect112"
385         style="stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter"
386         rx="0"
387         height="1370.8721"
388         width="2809.1992"
389         y="5650.2598"
390         x="4800.2563" />
391      <rect
392         id="rect112-3"
393         style="fill:none;stroke:#000000;stroke-width:30;stroke-linecap:butt;stroke-linejoin:miter"
394         rx="0"
395         height="1294.8468"
396         width="2809.1992"
397         y="5726.2852"
398         x="4800.2563" />
399      <text
400         sodipodi:linespacing="125%"
401         style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"
402         id="text202-7-5-1-2-3-7"
403         font-size="192"
404         font-weight="bold"
405         font-style="normal"
406         y="6961.395"
407         x="7220.106"
408         xml:space="preserve"><tspan
409           id="tspan3104-6-5"
410           style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans">Leaf</tspan></text>
411      <text
412         style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"
413         id="text202-3"
414         font-size="192"
415         font-weight="bold"
416         font-style="normal"
417         y="6321.9248"
418         x="5073.3374"
419         xml:space="preserve">__note_gp_changes()</text>
420    </g>
421    <g
422       id="g3049"
423       transform="translate(26.596257,6090.5512)">
424      <path
425         transform="matrix(13.298129,0,0,13.298129,1872.6808,-2726.4833)"
426         d="m 385.2961,345.54001 c 0,21.84301 -29.51209,39.55026 -65.9171,39.55026 -36.40501,0 -65.91711,-17.70725 -65.91711,-39.55026 0,-21.84301 29.5121,-39.55026 65.91711,-39.55026 36.40501,0 65.9171,17.70725 65.9171,39.55026 z"
427         sodipodi:ry="39.550262"
428         sodipodi:rx="65.917107"
429         sodipodi:cy="345.54001"
430         sodipodi:cx="319.379"
431         id="path3084-3"
432         style="fill:#ffffa1;fill-opacity:0;stroke:#000000;stroke-width:2.25600004;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:2.256, 4.512;stroke-dashoffset:0"
433         sodipodi:type="arc" />
434      <text
435         sodipodi:linespacing="125%"
436         style="font-size:192px;font-style:normal;font-weight:bold;line-height:125%;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"
437         id="text202-7-5-1-2-6"
438         font-size="192"
439         font-weight="bold"
440         font-style="normal"
441         y="1785.2073"
442         x="5717.4517"
443         xml:space="preserve"><tspan
444           id="tspan3104-7"
445           style="font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans">Phase Two</tspan></text>
446      <text
447         sodipodi:linespacing="125%"
448         id="text3110-5"
449         y="2005.6624"
450         x="6119.668"
451         style="font-size:159.57754517px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
452         xml:space="preserve"><tspan
453           y="2005.6624"
454           x="6119.668"
455           id="tspan3112-3"
456           sodipodi:role="line">of Update</tspan></text>
457    </g>
458    <rect
459       x="5097.8271"
460       y="6268.2183"
461       width="1994.7195"
462       height="664.90662"
463       rx="0"
464       style="fill:none;stroke:#000000;stroke-width:30.00057793;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:30.00057858, 60.00115716;stroke-dashoffset:0"
465       id="rect118-36-3"
466       ry="0" />
467    <text
468       xml:space="preserve"
469       x="5363.7886"
470       y="6534.1812"
471       font-style="normal"
472       font-weight="bold"
473       font-size="192"
474       id="text202-7-9-6-6"
475       style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">RCU_SOFTIRQ</text>
476    <text
477       xml:space="preserve"
478       x="5363.7886"
479       y="6800.1436"
480       font-style="normal"
481       font-weight="bold"
482       font-size="192"
483       id="text202-7-9-6-6-7"
484       style="font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier">rcu_do_batch()</text>
485  </g>
486</svg>
487