blob: 13a194bd85c9181d528b01a6a6c2428bae221566 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Creator: fig2dev Version 3.2 Patchlevel 5e -->
<!-- CreationDate: Tue Aug 22 20:34:06 2017 -->
<!-- Magnification: 1.000 -->
<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="286.08585"
height="172.3885"
viewBox="-12 -12 3839.9076 2296.3036"
id="svg2"
version="1.1"
inkscape:version="0.92.3 (2405546, 2018-03-11)"
sodipodi:docname="Alpha.svg">
<metadata
id="metadata160">
<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></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs158">
<marker
inkscape:stockid="Arrow1Mend"
orient="auto"
refY="0"
refX="0"
id="Arrow1Mend"
style="overflow:visible">
<path
id="path3935"
d="M 0,0 5,-5 -12.5,0 5,5 Z"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt"
transform="matrix(-0.4,0,0,-0.4,-4,0)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow1Mstart"
orient="auto"
refY="0"
refX="0"
id="Arrow1Mstart"
style="overflow:visible">
<path
id="path3932"
d="M 0,0 5,-5 -12.5,0 5,5 Z"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt"
transform="matrix(0.4,0,0,0.4,4,0)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow2Lstart"
orient="auto"
refY="0"
refX="0"
id="Arrow2Lstart"
style="overflow:visible">
<path
id="path3944"
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="Arrow1Mstart"
orient="auto"
refY="0"
refX="0"
id="Arrow1Mstart-3"
style="overflow:visible">
<path
inkscape:connector-curvature="0"
id="path3932-6"
d="M 0,0 5,-5 -12.5,0 5,5 Z"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt"
transform="matrix(0.4,0,0,0.4,4,0)" />
</marker>
<marker
inkscape:stockid="Arrow1Mend"
orient="auto"
refY="0"
refX="0"
id="Arrow1Mend-7"
style="overflow:visible">
<path
inkscape:connector-curvature="0"
id="path3935-5"
d="M 0,0 5,-5 -12.5,0 5,5 Z"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt"
transform="matrix(-0.4,0,0,-0.4,-4,0)" />
</marker>
<marker
inkscape:stockid="Arrow1Mstart"
orient="auto"
refY="0"
refX="0"
id="Arrow1Mstart-5"
style="overflow:visible">
<path
inkscape:connector-curvature="0"
id="path3932-62"
d="M 0,0 5,-5 -12.5,0 5,5 Z"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt"
transform="matrix(0.4,0,0,0.4,4,0)" />
</marker>
<marker
inkscape:stockid="Arrow1Mend"
orient="auto"
refY="0"
refX="0"
id="Arrow1Mend-9"
style="overflow:visible">
<path
inkscape:connector-curvature="0"
id="path3935-1"
d="M 0,0 5,-5 -12.5,0 5,5 Z"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt"
transform="matrix(-0.4,0,0,-0.4,-4,0)" />
</marker>
<marker
inkscape:stockid="Arrow1Mstart"
orient="auto"
refY="0"
refX="0"
id="marker4968"
style="overflow:visible">
<path
inkscape:connector-curvature="0"
id="path4970"
d="M 0,0 5,-5 -12.5,0 5,5 Z"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt"
transform="matrix(0.4,0,0,0.4,4,0)" />
</marker>
<marker
inkscape:stockid="Arrow1Mend"
orient="auto"
refY="0"
refX="0"
id="marker4972"
style="overflow:visible">
<path
inkscape:connector-curvature="0"
id="path4974"
d="M 0,0 5,-5 -12.5,0 5,5 Z"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt"
transform="matrix(-0.4,0,0,-0.4,-4,0)" />
</marker>
<marker
inkscape:stockid="Arrow1Mstart"
orient="auto"
refY="0"
refX="0"
id="Arrow1Mstart-0"
style="overflow:visible">
<path
inkscape:connector-curvature="0"
id="path3932-9"
d="M 0,0 5,-5 -12.5,0 5,5 Z"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt"
transform="matrix(0.4,0,0,0.4,4,0)" />
</marker>
<marker
inkscape:stockid="Arrow1Mend"
orient="auto"
refY="0"
refX="0"
id="Arrow1Mend-3"
style="overflow:visible">
<path
inkscape:connector-curvature="0"
id="path3935-6"
d="M 0,0 5,-5 -12.5,0 5,5 Z"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt"
transform="matrix(-0.4,0,0,-0.4,-4,0)" />
</marker>
<marker
inkscape:stockid="Arrow1Mstart"
orient="auto"
refY="0"
refX="0"
id="Arrow1Mstart-6"
style="overflow:visible">
<path
inkscape:connector-curvature="0"
id="path3932-2"
d="M 0,0 5,-5 -12.5,0 5,5 Z"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt"
transform="matrix(0.4,0,0,0.4,4,0)" />
</marker>
<marker
inkscape:stockid="Arrow1Mend"
orient="auto"
refY="0"
refX="0"
id="Arrow1Mend-6"
style="overflow:visible">
<path
inkscape:connector-curvature="0"
id="path3935-18"
d="M 0,0 5,-5 -12.5,0 5,5 Z"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt"
transform="matrix(-0.4,0,0,-0.4,-4,0)" />
</marker>
<marker
inkscape:stockid="Arrow1Mstart"
orient="auto"
refY="0"
refX="0"
id="Arrow1Mstart-9"
style="overflow:visible">
<path
id="path3932-27"
d="M 0,0 5,-5 -12.5,0 5,5 Z"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt"
transform="matrix(0.4,0,0,0.4,4,0)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow1Mend"
orient="auto"
refY="0"
refX="0"
id="Arrow1Mend-4"
style="overflow:visible">
<path
id="path3935-2"
d="M 0,0 5,-5 -12.5,0 5,5 Z"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt"
transform="matrix(-0.4,0,0,-0.4,-4,0)"
inkscape:connector-curvature="0" />
</marker>
</defs>
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1657"
inkscape:window-height="995"
id="namedview156"
showgrid="true"
inkscape:zoom="4.0807726"
inkscape:cx="147.27603"
inkscape:cy="86.194482"
inkscape:window-x="384"
inkscape:window-y="207"
inkscape:window-maximized="0"
inkscape:current-layer="svg2"
fit-margin-top="5"
fit-margin-right="5"
fit-margin-bottom="5"
fit-margin-left="5">
<inkscape:grid
type="xygrid"
id="grid988"
originx="-1.320013e-05"
originy="0.0061278563" />
</sodipodi:namedview>
<path
inkscape:connector-curvature="0"
id="path4548-3"
d="m 457.03249,1242.0362 3.6911,625.6094 2085.45471,-1.7786 6.0959,-619.8716"
style="fill:none;stroke:#000000;stroke-width:13.42222214px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:none;marker-end:url(#Arrow1Mend)"
sodipodi:nodetypes="cccc" />
<rect
id="rect8"
style="fill:none;stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter"
rx="0"
height="233.50861"
width="1499.6387"
y="516.34778"
x="58.611107" />
<text
style="font-style:normal;font-weight:normal;font-size:108px;line-height:0%;font-family:Helvetica;text-anchor:middle;fill:#000000;stroke-width:0.025in"
id="text106"
font-size="108"
font-weight="normal"
font-style="normal"
y="666.34784"
x="808.13794"
xml:space="preserve"><tspan
id="tspan3035"
style="font-size:134.222229px">Writing CPU Core</tspan></text>
<rect
id="rect8-7"
style="fill:none;stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter"
rx="0"
height="233.50859"
width="1499.6385"
y="516.34784"
x="2171.4749" />
<text
style="font-style:normal;font-weight:normal;font-size:107.99999237px;line-height:0%;font-family:Helvetica;text-anchor:middle;fill:#000000;stroke-width:0.025in"
id="text106-0"
font-size="108"
font-weight="normal"
font-style="normal"
y="666.34778"
x="2921.0017"
xml:space="preserve"><tspan
id="tspan3035-9"
style="font-size:134.22221375px">Reading CPU Core</tspan></text>
<rect
id="rect8-3-8-3"
style="fill:none;stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter"
rx="0"
height="496.39597"
width="748.91064"
y="744.97595"
x="58.611107" />
<g
style="fill:none;stroke-width:0.025in"
transform="translate(-16.389013,838.26376)"
id="g3133">
<text
xml:space="preserve"
x="449.16275"
y="129.42508"
font-style="normal"
font-weight="normal"
font-size="108"
id="text106-3"
style="font-style:normal;font-weight:normal;font-size:107.99999237px;line-height:0%;font-family:Helvetica;text-anchor:middle;fill:#000000;stroke-width:0.025in"><tspan
style="font-size:134.22221375px"
id="tspan3035-5">Cache</tspan><tspan
style="font-size:134.22221375px"
id="tspan3075" /><tspan
style="font-size:134.22221375px"
id="tspan3077" /></text>
<text
xml:space="preserve"
x="447.48499"
y="278.64572"
font-style="normal"
font-weight="normal"
font-size="108"
id="text106-3-7"
style="font-style:normal;font-weight:normal;font-size:107.99999237px;line-height:0%;font-family:Helvetica;text-anchor:middle;fill:#000000;stroke-width:0.025in"><tspan
style="font-size:134.22221375px"
id="tspan3131">Bank 0</tspan></text>
</g>
<rect
id="rect8-3-8-3-6"
style="fill:none;stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter"
rx="0"
height="496.39597"
width="748.91064"
y="744.97595"
x="809.33911" />
<g
style="fill:none;stroke-width:0.025in"
id="g3133-6"
transform="translate(740.56839,838.26376)">
<text
style="font-style:normal;font-weight:normal;font-size:107.99999237px;line-height:0%;font-family:Helvetica;text-anchor:middle;fill:#000000;stroke-width:0.025in"
id="text106-3-2"
font-size="108"
font-weight="normal"
font-style="normal"
y="129.42508"
x="449.16275"
xml:space="preserve"><tspan
id="tspan3035-5-9"
style="font-size:134.22221375px">Cache</tspan><tspan
id="tspan3075-1"
style="font-size:134.22221375px" /><tspan
id="tspan3077-2"
style="font-size:134.22221375px" /></text>
<text
style="font-style:normal;font-weight:normal;font-size:107.99999237px;line-height:0%;font-family:Helvetica;text-anchor:middle;fill:#000000;stroke-width:0.025in"
id="text106-3-7-7"
font-size="108"
font-weight="normal"
font-style="normal"
y="278.64572"
x="447.48499"
xml:space="preserve"><tspan
id="tspan3131-0"
style="font-size:134.22221375px">Bank 1</tspan></text>
</g>
<g
id="g3133-3"
transform="translate(2096.4731,757.73045)"
style="fill:none;stroke-width:0.025in">
<text
style="font-style:normal;font-weight:normal;font-size:107.99999237px;line-height:0%;font-family:Helvetica;text-anchor:middle;fill:#000000;stroke-width:0.025in"
id="text106-3-6"
font-size="108"
font-weight="normal"
font-style="normal"
y="156.26952"
x="455.41293"
xml:space="preserve"><tspan
id="tspan3035-5-0"
style="font-size:134.22221375px">Cache</tspan><tspan
id="tspan3075-6"
style="font-size:134.22221375px" /><tspan
id="tspan3077-26"
style="font-size:134.22221375px" /></text>
<text
style="font-style:normal;font-weight:normal;font-size:107.99999237px;line-height:0%;font-family:Helvetica;text-anchor:middle;fill:#000000;stroke-width:0.025in"
id="text106-3-7-1"
font-size="108"
font-weight="normal"
font-style="normal"
y="278.64572"
x="453.73517"
xml:space="preserve"><tspan
id="tspan3131-8"
style="font-size:134.22221375px">Bank 0</tspan></text>
<text
style="font-style:normal;font-weight:normal;font-size:107.99999237px;line-height:0%;font-family:Helvetica;text-anchor:middle;fill:#000000;stroke-width:0.025in"
id="text106-3-7-1-2"
font-size="108"
font-weight="normal"
font-style="normal"
y="412.37146"
x="453.73517"
xml:space="preserve"><tspan
id="tspan3131-8-4"
style="font-size:134.22221375px">(Idle)</tspan></text>
</g>
<rect
x="2171.4731"
y="744.97595"
width="748.91064"
height="496.39597"
rx="0"
style="fill:none;stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter"
id="rect8-3-8-3-9" />
<rect
id="rect8-3-8-3-6-7"
style="fill:none;stroke:#000000;stroke-width:7;stroke-linecap:butt;stroke-linejoin:miter"
rx="0"
height="496.39597"
width="748.91064"
y="744.97595"
x="2922.2009" />
<text
id="text3307"
y="124.1515"
x="46.355247"
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none"
xml:space="preserve"><tspan
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:107.3777771px;line-height:125%;font-family:'Liberation Mono';-inkscape-font-specification:'Liberation Mono';text-align:start;writing-mode:lr-tb;text-anchor:start"
y="124.1515"
x="46.355247"
sodipodi:role="line"
id="tspan3523">p-&gt;data = key;</tspan><tspan
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:107.3777771px;line-height:125%;font-family:'Liberation Mono';-inkscape-font-specification:'Liberation Mono';text-align:start;writing-mode:lr-tb;text-anchor:start"
y="258.37372"
x="46.355247"
sodipodi:role="line"
id="tspan3527">smp_wmb();</tspan><tspan
id="tspan3311"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:107.3777771px;line-height:125%;font-family:'Liberation Mono';-inkscape-font-specification:'Liberation Mono';text-align:start;writing-mode:lr-tb;text-anchor:start"
y="392.59595"
x="46.355247"
sodipodi:role="line">head.next = p;</tspan></text>
<text
id="text3307-0"
y="258.37375"
x="3694.3865"
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none"
xml:space="preserve"><tspan
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:107.3777771px;line-height:125%;font-family:'Liberation Mono';-inkscape-font-specification:'Liberation Mono';text-align:end;writing-mode:lr-tb;text-anchor:end"
y="258.37375"
x="3694.3865"
id="tspan3309-3"
sodipodi:role="line">p = READ_ONCE_OLD(head.next);</tspan><tspan
id="tspan3311-4"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:107.3777771px;line-height:125%;font-family:'Liberation Mono';-inkscape-font-specification:'Liberation Mono';text-align:end;writing-mode:lr-tb;text-anchor:end"
y="392.59598"
x="3694.3865"
sodipodi:role="line">BUG_ON(p &amp;&amp; p-&gt;key != key);</tspan></text>
<path
inkscape:connector-curvature="0"
id="path4548-3-5"
d="m 1191.4494,1240.2417 -2.5266,977.0876 2101.3377,1.9125 2.0321,-965.3072"
style="fill:none;stroke:#000000;stroke-width:13.42222214px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:none;marker-end:url(#Arrow1Mend)"
sodipodi:nodetypes="cccc" />
<g
id="g3133-3-4"
transform="translate(2840.9505,744.7578)"
style="fill:none;stroke-width:0.025in">
<text
style="font-style:normal;font-weight:normal;font-size:107.99999237px;line-height:0%;font-family:Helvetica;text-anchor:middle;fill:#000000;stroke-width:0.025in"
id="text106-3-6-3"
font-size="108"
font-weight="normal"
font-style="normal"
y="156.26952"
x="455.41293"
xml:space="preserve"><tspan
id="tspan3035-5-0-8"
style="font-size:134.22221375px">Cache</tspan><tspan
id="tspan3075-6-6"
style="font-size:134.22221375px" /><tspan
id="tspan3077-26-0"
style="font-size:134.22221375px" /></text>
<text
style="font-style:normal;font-weight:normal;font-size:107.99999237px;line-height:0%;font-family:Helvetica;text-anchor:middle;fill:#000000;stroke-width:0.025in"
id="text106-3-7-1-8"
font-size="108"
font-weight="normal"
font-style="normal"
y="278.64572"
x="453.73517"
xml:space="preserve"><tspan
id="tspan3131-8-9"
style="font-size:134.22221375px">Bank 1</tspan></text>
<text
style="font-style:normal;font-weight:normal;font-size:107.99999237px;line-height:0%;font-family:Helvetica;text-anchor:middle;fill:#000000;stroke-width:0.025in"
id="text106-3-7-1-2-2"
font-size="108"
font-weight="normal"
font-style="normal"
y="412.37146"
x="453.73517"
xml:space="preserve"><tspan
id="tspan3131-8-4-2"
style="font-size:134.22221375px">(Busy)</tspan></text>
</g>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none"
x="2237.8979"
y="1477.1736"
id="text3498"><tspan
sodipodi:role="line"
id="tspan3500"
x="2237.8979"
y="1477.1736"
style="font-size:107.3777771px;line-height:1.25;font-family:sans-serif">head.next</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none"
x="3328.4541"
y="1456.3586"
id="text3498-3"><tspan
sodipodi:role="line"
id="tspan3500-1"
x="3328.4541"
y="1456.3586"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:107.3777771px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:Sans;text-align:start;writing-mode:lr-tb;text-anchor:start">p-&gt;key</tspan><tspan
sodipodi:role="line"
x="3328.4541"
y="1590.5809"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:107.3777771px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:Sans;text-align:start;writing-mode:lr-tb;text-anchor:start"
id="tspan3529">p-&gt;data</tspan><tspan
sodipodi:role="line"
x="3328.4541"
y="1724.8031"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:107.3777771px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:Sans;text-align:start;writing-mode:lr-tb;text-anchor:start"
id="tspan3531">p-&gt;next</tspan></text>
</svg>