6db4831e98
Android 14
640 lines
29 KiB
XML
640 lines
29 KiB
XML
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
|
|
|
<svg
|
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
|
xmlns:cc="http://creativecommons.org/ns#"
|
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
|
xmlns:svg="http://www.w3.org/2000/svg"
|
|
xmlns="http://www.w3.org/2000/svg"
|
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
|
width="735.25"
|
|
height="516.21875"
|
|
id="svg2"
|
|
version="1.1"
|
|
inkscape:version="0.48.3.1 r9886"
|
|
sodipodi:docname="ReadersPartitionGP1.svg">
|
|
<defs
|
|
id="defs4">
|
|
<marker
|
|
inkscape:stockid="Arrow2Lend"
|
|
orient="auto"
|
|
refY="0"
|
|
refX="0"
|
|
id="Arrow2Lend"
|
|
style="overflow:visible">
|
|
<path
|
|
id="path3792"
|
|
style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
|
|
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"
|
|
transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
|
|
inkscape:connector-curvature="0" />
|
|
</marker>
|
|
<marker
|
|
inkscape:stockid="Arrow2Lstart"
|
|
orient="auto"
|
|
refY="0"
|
|
refX="0"
|
|
id="Arrow2Lstart"
|
|
style="overflow:visible">
|
|
<path
|
|
id="path3789"
|
|
style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
|
|
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"
|
|
transform="matrix(1.1,0,0,1.1,1.1,0)"
|
|
inkscape:connector-curvature="0" />
|
|
</marker>
|
|
<marker
|
|
inkscape:stockid="Arrow2Lstart"
|
|
orient="auto"
|
|
refY="0"
|
|
refX="0"
|
|
id="Arrow2Lstart-4"
|
|
style="overflow:visible">
|
|
<path
|
|
id="path3789-9"
|
|
style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
|
|
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"
|
|
transform="matrix(1.1,0,0,1.1,1.1,0)"
|
|
inkscape:connector-curvature="0" />
|
|
</marker>
|
|
<marker
|
|
inkscape:stockid="Arrow2Lend"
|
|
orient="auto"
|
|
refY="0"
|
|
refX="0"
|
|
id="Arrow2Lend-4"
|
|
style="overflow:visible">
|
|
<path
|
|
id="path3792-4"
|
|
style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
|
|
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"
|
|
transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
|
|
inkscape:connector-curvature="0" />
|
|
</marker>
|
|
</defs>
|
|
<sodipodi:namedview
|
|
id="base"
|
|
pagecolor="#ffffff"
|
|
bordercolor="#666666"
|
|
borderopacity="1.0"
|
|
inkscape:pageopacity="0.0"
|
|
inkscape:pageshadow="2"
|
|
inkscape:zoom="1.3670394"
|
|
inkscape:cx="367.26465"
|
|
inkscape:cy="258.46182"
|
|
inkscape:document-units="px"
|
|
inkscape:current-layer="g4433-6"
|
|
showgrid="false"
|
|
inkscape:window-width="1351"
|
|
inkscape:window-height="836"
|
|
inkscape:window-x="438"
|
|
inkscape:window-y="335"
|
|
inkscape:window-maximized="0"
|
|
fit-margin-top="5"
|
|
fit-margin-left="5"
|
|
fit-margin-right="5"
|
|
fit-margin-bottom="5" />
|
|
<metadata
|
|
id="metadata7">
|
|
<rdf:RDF>
|
|
<cc:Work
|
|
rdf:about="">
|
|
<dc:format>image/svg+xml</dc:format>
|
|
<dc:type
|
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
|
<dc:title />
|
|
</cc:Work>
|
|
</rdf:RDF>
|
|
</metadata>
|
|
<g
|
|
inkscape:label="Layer 1"
|
|
inkscape:groupmode="layer"
|
|
id="layer1"
|
|
transform="translate(-29.15625,-185.59375)">
|
|
<flowRoot
|
|
xml:space="preserve"
|
|
id="flowRoot2985"
|
|
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
|
|
id="flowRegion2987"><rect
|
|
id="rect2989"
|
|
width="82.85714"
|
|
height="11.428572"
|
|
x="240"
|
|
y="492.36218" /></flowRegion><flowPara
|
|
id="flowPara2991" /></flowRoot> <g
|
|
id="g4433"
|
|
transform="translate(2,-12)">
|
|
<text
|
|
sodipodi:linespacing="125%"
|
|
id="text2993"
|
|
y="-261.66608"
|
|
x="436.12299"
|
|
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"
|
|
xml:space="preserve"
|
|
transform="matrix(0,1,-1,0,0,0)"><tspan
|
|
y="-261.66608"
|
|
x="436.12299"
|
|
id="tspan2995"
|
|
sodipodi:role="line">synchronize_rcu()</tspan></text>
|
|
<g
|
|
id="g4417"
|
|
transform="matrix(0,1,-1,0,730.90257,222.4928)">
|
|
<path
|
|
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)"
|
|
d="M 97.580736,477.4048 327.57913,476.09759"
|
|
id="path2997"
|
|
inkscape:connector-curvature="0"
|
|
sodipodi:nodetypes="cc" />
|
|
<path
|
|
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
|
d="m 96.752718,465.38398 0,22.62742"
|
|
id="path4397"
|
|
inkscape:connector-curvature="0"
|
|
sodipodi:nodetypes="cc" />
|
|
<path
|
|
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
|
d="m 328.40703,465.38397 0,22.62742"
|
|
id="path4397-5"
|
|
inkscape:connector-curvature="0"
|
|
sodipodi:nodetypes="cc" />
|
|
</g>
|
|
</g>
|
|
<text
|
|
xml:space="preserve"
|
|
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"
|
|
x="112.04738"
|
|
y="268.18076"
|
|
id="text4429"
|
|
sodipodi:linespacing="125%"><tspan
|
|
sodipodi:role="line"
|
|
id="tspan4431"
|
|
x="112.04738"
|
|
y="268.18076">WRITE_ONCE(a, 1);</tspan></text>
|
|
<text
|
|
xml:space="preserve"
|
|
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"
|
|
x="112.04738"
|
|
y="487.13766"
|
|
id="text4441"
|
|
sodipodi:linespacing="125%"><tspan
|
|
sodipodi:role="line"
|
|
id="tspan4443"
|
|
x="112.04738"
|
|
y="487.13766">WRITE_ONCE(b, 1);</tspan></text>
|
|
<text
|
|
xml:space="preserve"
|
|
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"
|
|
x="255.60869"
|
|
y="297.29346"
|
|
id="text4445"
|
|
sodipodi:linespacing="125%"><tspan
|
|
sodipodi:role="line"
|
|
id="tspan4447"
|
|
x="255.60869"
|
|
y="297.29346">r1 = READ_ONCE(a);</tspan></text>
|
|
<text
|
|
xml:space="preserve"
|
|
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"
|
|
x="255.14423"
|
|
y="554.61786"
|
|
id="text4449"
|
|
sodipodi:linespacing="125%"><tspan
|
|
sodipodi:role="line"
|
|
id="tspan4451"
|
|
x="255.14423"
|
|
y="554.61786">WRITE_ONCE(c, 1);</tspan></text>
|
|
<text
|
|
xml:space="preserve"
|
|
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"
|
|
x="396.10254"
|
|
y="370.71124"
|
|
id="text4453"
|
|
sodipodi:linespacing="125%"><tspan
|
|
sodipodi:role="line"
|
|
id="tspan4455"
|
|
x="396.10254"
|
|
y="370.71124">WRITE_ONCE(d, 1);</tspan></text>
|
|
<text
|
|
xml:space="preserve"
|
|
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"
|
|
x="396.10254"
|
|
y="572.13617"
|
|
id="text4457"
|
|
sodipodi:linespacing="125%"><tspan
|
|
sodipodi:role="line"
|
|
id="tspan4459"
|
|
x="396.10254"
|
|
y="572.13617">r2 = READ_ONCE(c);</tspan></text>
|
|
<text
|
|
xml:space="preserve"
|
|
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"
|
|
x="112.08231"
|
|
y="213.91006"
|
|
id="text4461"
|
|
sodipodi:linespacing="125%"><tspan
|
|
sodipodi:role="line"
|
|
id="tspan4463"
|
|
x="112.08231"
|
|
y="213.91006">thread0()</tspan></text>
|
|
<text
|
|
xml:space="preserve"
|
|
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"
|
|
x="252.34512"
|
|
y="213.91006"
|
|
id="text4461-6"
|
|
sodipodi:linespacing="125%"><tspan
|
|
sodipodi:role="line"
|
|
id="tspan4463-0"
|
|
x="252.34512"
|
|
y="213.91006">thread1()</tspan></text>
|
|
<text
|
|
xml:space="preserve"
|
|
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"
|
|
x="396.42557"
|
|
y="213.91006"
|
|
id="text4461-2"
|
|
sodipodi:linespacing="125%"><tspan
|
|
sodipodi:role="line"
|
|
id="tspan4463-2"
|
|
x="396.42557"
|
|
y="213.91006">thread2()</tspan></text>
|
|
<rect
|
|
style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
|
id="rect4495"
|
|
width="724.25244"
|
|
height="505.21201"
|
|
x="34.648232"
|
|
y="191.10612" />
|
|
<path
|
|
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"
|
|
d="m 183.14066,191.10612 0,504.24243"
|
|
id="path4497"
|
|
inkscape:connector-curvature="0"
|
|
sodipodi:nodetypes="cc" />
|
|
<path
|
|
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"
|
|
d="m 325.13867,191.10612 0,504.24243"
|
|
id="path4497-5"
|
|
inkscape:connector-curvature="0"
|
|
sodipodi:nodetypes="cc" />
|
|
<text
|
|
xml:space="preserve"
|
|
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"
|
|
x="111.75929"
|
|
y="251.53981"
|
|
id="text4429-8"
|
|
sodipodi:linespacing="125%"><tspan
|
|
sodipodi:role="line"
|
|
id="tspan4431-9"
|
|
x="111.75929"
|
|
y="251.53981">rcu_read_lock();</tspan></text>
|
|
<text
|
|
xml:space="preserve"
|
|
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"
|
|
x="396.10254"
|
|
y="353.91556"
|
|
id="text4429-8-9"
|
|
sodipodi:linespacing="125%"><tspan
|
|
sodipodi:role="line"
|
|
id="tspan4431-9-4"
|
|
x="396.10254"
|
|
y="353.91556">rcu_read_lock();</tspan></text>
|
|
<text
|
|
xml:space="preserve"
|
|
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"
|
|
x="396.10254"
|
|
y="587.40289"
|
|
id="text4429-8-9-3"
|
|
sodipodi:linespacing="125%"><tspan
|
|
sodipodi:role="line"
|
|
id="tspan4431-9-4-4"
|
|
x="396.10254"
|
|
y="587.40289">rcu_read_unlock();</tspan></text>
|
|
<text
|
|
xml:space="preserve"
|
|
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"
|
|
x="111.75929"
|
|
y="501.15311"
|
|
id="text4429-8-9-3-1"
|
|
sodipodi:linespacing="125%"><tspan
|
|
sodipodi:role="line"
|
|
id="tspan4431-9-4-4-6"
|
|
x="111.75929"
|
|
y="501.15311">rcu_read_unlock();</tspan></text>
|
|
<path
|
|
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
|
d="m 33.941125,227.87568 724.941765,0"
|
|
id="path4608"
|
|
inkscape:connector-curvature="0"
|
|
sodipodi:nodetypes="cc" />
|
|
<text
|
|
xml:space="preserve"
|
|
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"
|
|
x="394.94427"
|
|
y="331.66351"
|
|
id="text4648"
|
|
sodipodi:linespacing="125%"><tspan
|
|
sodipodi:role="line"
|
|
id="tspan4650"
|
|
x="394.94427"
|
|
y="331.66351">QS</tspan></text>
|
|
<path
|
|
sodipodi:type="arc"
|
|
style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
|
id="path4652"
|
|
sodipodi:cx="358.85669"
|
|
sodipodi:cy="142.87541"
|
|
sodipodi:rx="10.960155"
|
|
sodipodi:ry="10.253048"
|
|
d="m 358.86939,132.62237 a 10.960155,10.253048 0 1 1 -0.0228,0"
|
|
transform="translate(36.441125,185.60612)"
|
|
sodipodi:start="4.7135481"
|
|
sodipodi:end="10.994651"
|
|
sodipodi:open="true" />
|
|
<text
|
|
xml:space="preserve"
|
|
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"
|
|
x="112.11968"
|
|
y="523.77856"
|
|
id="text4648-4"
|
|
sodipodi:linespacing="125%"><tspan
|
|
sodipodi:role="line"
|
|
id="tspan4650-4"
|
|
x="112.11968"
|
|
y="523.77856">QS</tspan></text>
|
|
<path
|
|
sodipodi:type="arc"
|
|
style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
|
id="path4652-7"
|
|
sodipodi:cx="358.85669"
|
|
sodipodi:cy="142.87541"
|
|
sodipodi:rx="10.960155"
|
|
sodipodi:ry="10.253048"
|
|
d="m 358.86939,132.62237 a 10.960155,10.253048 0 1 1 -0.0228,0"
|
|
transform="translate(-246.38346,377.72117)"
|
|
sodipodi:start="4.7135481"
|
|
sodipodi:end="10.994651"
|
|
sodipodi:open="true" />
|
|
<path
|
|
sodipodi:type="arc"
|
|
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
|
id="path4652-7-7"
|
|
sodipodi:cx="358.85669"
|
|
sodipodi:cy="142.87541"
|
|
sodipodi:rx="10.960155"
|
|
sodipodi:ry="10.253048"
|
|
d="m 358.86939,132.62237 a 10.960155,10.253048 0 1 1 -0.0228,0"
|
|
transform="translate(-103.65246,190.90878)"
|
|
sodipodi:start="4.7135481"
|
|
sodipodi:end="10.994651"
|
|
sodipodi:open="true" />
|
|
<text
|
|
xml:space="preserve"
|
|
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"
|
|
x="254.85066"
|
|
y="336.96619"
|
|
id="text4648-4-3"
|
|
sodipodi:linespacing="125%"><tspan
|
|
sodipodi:role="line"
|
|
id="tspan4650-4-5"
|
|
x="254.85066"
|
|
y="336.96619">QS</tspan></text>
|
|
<path
|
|
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"
|
|
d="m 470.93311,190.39903 0,504.24243"
|
|
id="path4497-5-6"
|
|
inkscape:connector-curvature="0"
|
|
sodipodi:nodetypes="cc" />
|
|
<path
|
|
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"
|
|
d="m 616.22755,190.38323 0,504.24243"
|
|
id="path4497-5-2"
|
|
inkscape:connector-curvature="0"
|
|
sodipodi:nodetypes="cc" />
|
|
<g
|
|
id="g4433-6"
|
|
transform="translate(288.0964,78.32827)">
|
|
<text
|
|
sodipodi:linespacing="125%"
|
|
id="text2993-7"
|
|
y="-261.66608"
|
|
x="440.12299"
|
|
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"
|
|
xml:space="preserve"
|
|
transform="matrix(0,1,-1,0,0,0)"><tspan
|
|
y="-261.66608"
|
|
x="440.12299"
|
|
id="tspan2995-1"
|
|
sodipodi:role="line">synchronize_rcu()</tspan></text>
|
|
<g
|
|
id="g4417-1"
|
|
transform="matrix(0,1,-1,0,730.90257,222.4928)">
|
|
<path
|
|
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)"
|
|
d="M 97.580736,477.4048 328.5624,477.07246"
|
|
id="path2997-2"
|
|
inkscape:connector-curvature="0"
|
|
sodipodi:nodetypes="cc" />
|
|
<path
|
|
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
|
d="m 96.752718,465.38398 0,22.62742"
|
|
id="path4397-3"
|
|
inkscape:connector-curvature="0"
|
|
sodipodi:nodetypes="cc" />
|
|
<path
|
|
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
|
d="m 329.39039,465.38397 0,22.62742"
|
|
id="path4397-5-4"
|
|
inkscape:connector-curvature="0"
|
|
sodipodi:nodetypes="cc" />
|
|
</g>
|
|
</g>
|
|
<text
|
|
xml:space="preserve"
|
|
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"
|
|
x="541.70508"
|
|
y="387.6217"
|
|
id="text4445-0"
|
|
sodipodi:linespacing="125%"><tspan
|
|
sodipodi:role="line"
|
|
id="tspan4447-5"
|
|
x="541.70508"
|
|
y="387.6217">r3 = READ_ONCE(d);</tspan></text>
|
|
<text
|
|
xml:space="preserve"
|
|
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"
|
|
x="541.2406"
|
|
y="646.94611"
|
|
id="text4449-6"
|
|
sodipodi:linespacing="125%"><tspan
|
|
sodipodi:role="line"
|
|
id="tspan4451-6"
|
|
x="541.2406"
|
|
y="646.94611">WRITE_ONCE(e, 1);</tspan></text>
|
|
<path
|
|
sodipodi:type="arc"
|
|
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
|
id="path4652-7-7-5"
|
|
sodipodi:cx="358.85669"
|
|
sodipodi:cy="142.87541"
|
|
sodipodi:rx="10.960155"
|
|
sodipodi:ry="10.253048"
|
|
d="m 358.86939,132.62237 a 10.960155,10.253048 0 1 1 -0.0228,0"
|
|
transform="translate(182.44393,281.23704)"
|
|
sodipodi:start="4.7135481"
|
|
sodipodi:end="10.994651"
|
|
sodipodi:open="true" />
|
|
<text
|
|
xml:space="preserve"
|
|
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"
|
|
x="540.94702"
|
|
y="427.29443"
|
|
id="text4648-4-3-1"
|
|
sodipodi:linespacing="125%"><tspan
|
|
sodipodi:role="line"
|
|
id="tspan4650-4-5-7"
|
|
x="540.94702"
|
|
y="427.29443">QS</tspan></text>
|
|
<text
|
|
xml:space="preserve"
|
|
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"
|
|
x="686.27747"
|
|
y="461.83929"
|
|
id="text4453-7"
|
|
sodipodi:linespacing="125%"><tspan
|
|
sodipodi:role="line"
|
|
id="tspan4455-1"
|
|
x="686.27747"
|
|
y="461.83929">r4 = READ_ONCE(b);</tspan></text>
|
|
<text
|
|
xml:space="preserve"
|
|
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"
|
|
x="686.27747"
|
|
y="669.26422"
|
|
id="text4457-9"
|
|
sodipodi:linespacing="125%"><tspan
|
|
sodipodi:role="line"
|
|
id="tspan4459-2"
|
|
x="686.27747"
|
|
y="669.26422">r5 = READ_ONCE(e);</tspan></text>
|
|
<text
|
|
xml:space="preserve"
|
|
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"
|
|
x="686.27747"
|
|
y="445.04358"
|
|
id="text4429-8-9-33"
|
|
sodipodi:linespacing="125%"><tspan
|
|
sodipodi:role="line"
|
|
id="tspan4431-9-4-2"
|
|
x="686.27747"
|
|
y="445.04358">rcu_read_lock();</tspan></text>
|
|
<text
|
|
xml:space="preserve"
|
|
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"
|
|
x="686.27747"
|
|
y="684.53094"
|
|
id="text4429-8-9-3-8"
|
|
sodipodi:linespacing="125%"><tspan
|
|
sodipodi:role="line"
|
|
id="tspan4431-9-4-4-5"
|
|
x="686.27747"
|
|
y="684.53094">rcu_read_unlock();</tspan></text>
|
|
<text
|
|
xml:space="preserve"
|
|
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"
|
|
x="685.11914"
|
|
y="422.79153"
|
|
id="text4648-9"
|
|
sodipodi:linespacing="125%"><tspan
|
|
sodipodi:role="line"
|
|
id="tspan4650-7"
|
|
x="685.11914"
|
|
y="422.79153">QS</tspan></text>
|
|
<path
|
|
sodipodi:type="arc"
|
|
style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
|
id="path4652-8"
|
|
sodipodi:cx="358.85669"
|
|
sodipodi:cy="142.87541"
|
|
sodipodi:rx="10.960155"
|
|
sodipodi:ry="10.253048"
|
|
d="m 358.86939,132.62237 a 10.960155,10.253048 0 1 1 -0.0228,0"
|
|
transform="translate(326.61602,276.73415)"
|
|
sodipodi:start="4.7135481"
|
|
sodipodi:end="10.994651"
|
|
sodipodi:open="true" />
|
|
<text
|
|
xml:space="preserve"
|
|
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"
|
|
x="397.85934"
|
|
y="609.59003"
|
|
id="text4648-5"
|
|
sodipodi:linespacing="125%"><tspan
|
|
sodipodi:role="line"
|
|
id="tspan4650-77"
|
|
x="397.85934"
|
|
y="609.59003">QS</tspan></text>
|
|
<path
|
|
sodipodi:type="arc"
|
|
style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
|
id="path4652-80"
|
|
sodipodi:cx="358.85669"
|
|
sodipodi:cy="142.87541"
|
|
sodipodi:rx="10.960155"
|
|
sodipodi:ry="10.253048"
|
|
d="m 358.86939,132.62237 a 10.960155,10.253048 0 1 1 -0.0228,0"
|
|
transform="translate(39.356201,463.53264)"
|
|
sodipodi:start="4.7135481"
|
|
sodipodi:end="10.994651"
|
|
sodipodi:open="true" />
|
|
<text
|
|
xml:space="preserve"
|
|
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"
|
|
x="256.75986"
|
|
y="586.99133"
|
|
id="text4648-5-2"
|
|
sodipodi:linespacing="125%"><tspan
|
|
sodipodi:role="line"
|
|
id="tspan4650-77-7"
|
|
x="256.75986"
|
|
y="586.99133">QS</tspan></text>
|
|
<path
|
|
sodipodi:type="arc"
|
|
style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
|
id="path4652-80-5"
|
|
sodipodi:cx="358.85669"
|
|
sodipodi:cy="142.87541"
|
|
sodipodi:rx="10.960155"
|
|
sodipodi:ry="10.253048"
|
|
d="m 358.86939,132.62237 a 10.960155,10.253048 0 1 1 -0.0228,0"
|
|
transform="translate(-101.74328,440.93395)"
|
|
sodipodi:start="4.7135481"
|
|
sodipodi:end="10.994651"
|
|
sodipodi:open="true" />
|
|
<text
|
|
xml:space="preserve"
|
|
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"
|
|
x="546.22791"
|
|
y="213.91006"
|
|
id="text4461-2-5"
|
|
sodipodi:linespacing="125%"><tspan
|
|
sodipodi:role="line"
|
|
id="tspan4463-2-6"
|
|
x="546.22791"
|
|
y="213.91006">thread3()</tspan></text>
|
|
<text
|
|
xml:space="preserve"
|
|
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"
|
|
x="684.00067"
|
|
y="213.91006"
|
|
id="text4461-2-1"
|
|
sodipodi:linespacing="125%"><tspan
|
|
sodipodi:role="line"
|
|
id="tspan4463-2-0"
|
|
x="684.00067"
|
|
y="213.91006">thread4()</tspan></text>
|
|
</g>
|
|
</svg>
|