<?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="235.50583"
   height="270.15079"
   id="svg2"
   version="1.1"
   inkscape:version="0.48.4 r9939"
   sodipodi:docname="RCUGuaranteeFwd.svg">
  <defs
     id="defs4">
    <marker
       inkscape:stockid="Arrow2Send"
       orient="auto"
       refY="0"
       refX="0"
       id="Arrow2Send"
       style="overflow:visible">
      <path
         id="path3892"
         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(-0.3,0,0,-0.3,0.69,0)"
         inkscape:connector-curvature="0" />
    </marker>
    <marker
       inkscape:stockid="Arrow1Send"
       orient="auto"
       refY="0"
       refX="0"
       id="Arrow1Send"
       style="overflow:visible">
      <path
         id="path3874"
         d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
         transform="matrix(-0.2,0,0,-0.2,-1.2,0)"
         inkscape:connector-curvature="0" />
    </marker>
    <marker
       inkscape:stockid="Arrow1Lend"
       orient="auto"
       refY="0"
       refX="0"
       id="Arrow1Lend"
       style="overflow:visible">
      <path
         id="path3862"
         d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
         transform="matrix(-0.8,0,0,-0.8,-10,0)"
         inkscape:connector-curvature="0" />
    </marker>
    <marker
       inkscape:stockid="Arrow1Mend"
       orient="auto"
       refY="0"
       refX="0"
       id="Arrow1Mend"
       style="overflow:visible">
      <path
         id="path3885"
         d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
         transform="matrix(-0.4,0,0,-0.4,-4,0)"
         inkscape:connector-curvature="0" />
    </marker>
    <marker
       inkscape:stockid="Arrow1Sstart"
       orient="auto"
       refY="0"
       refX="0"
       id="Arrow1Sstart"
       style="overflow:visible">
      <path
         id="path3888"
         d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
         transform="matrix(0.2,0,0,0.2,1.2,0)"
         inkscape:connector-curvature="0" />
    </marker>
    <marker
       inkscape:stockid="Arrow1Mstart"
       orient="auto"
       refY="0"
       refX="0"
       id="Arrow1Mstart"
       style="overflow:visible">
      <path
         id="path3882"
         d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
         transform="matrix(0.4,0,0,0.4,4,0)"
         inkscape:connector-curvature="0" />
    </marker>
    <marker
       inkscape:stockid="Arrow1Lstart"
       orient="auto"
       refY="0"
       refX="0"
       id="Arrow1Lstart"
       style="overflow:visible">
      <path
         id="path3876"
         d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
         transform="matrix(0.8,0,0,0.8,10,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="2.6733249"
     inkscape:cx="117.78158"
     inkscape:cy="138.36068"
     inkscape:document-units="px"
     inkscape:current-layer="layer1"
     showgrid="false"
     fit-margin-top="0.05"
     fit-margin-left="0.05"
     fit-margin-right="0.05"
     fit-margin-bottom="0.05"
     inkscape:window-width="853"
     inkscape:window-height="921"
     inkscape:window-x="617"
     inkscape:window-y="93"
     inkscape:window-maximized="0" />
  <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(20.441156,-781.66367)">
    <g
       inkscape:groupmode="layer"
       id="layer2"
       inkscape:label="Big Arrows">
      <g
         transform="translate(0,53.92809)"
         id="g5416">
        <path
           inkscape:connector-curvature="0"
           id="path5410"
           d="m 84.754663,841.32358 100.721987,0.37407 -0.37407,14.6715"
           style="fill:none;stroke:#00ff00;stroke-width:15.3268261;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
           sodipodi:nodetypes="ccc" />
        <path
           inkscape:connector-curvature="0"
           id="path5414"
           d="m 201.92527,856.14207 -31.87817,0.36641 2.93133,1.83208 12.82455,10.99248 z"
           style="fill:#00ff00;fill-opacity:1;stroke:#00ff00;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
        <path
           style="fill:#64c8c8;fill-opacity:1;stroke:#64c8c8;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
           d="m 143.3907,954.79847 0.36641,31.87817 1.83208,-2.93133 10.99248,-12.82455 z"
           id="path5450"
           inkscape:connector-curvature="0" />
        <path
           style="fill:none;stroke:#64c8c8;stroke-width:16;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
           d="m 26.511711,797.23541 -38.528801,0 -0.374066,173.9407 157.107726,0"
           id="path5456"
           inkscape:connector-curvature="0"
           sodipodi:nodetypes="cccc" />
        <text
           xml:space="preserve"
           style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
           x="93.409752"
           y="844.49298"
           id="text5458"
           sodipodi:linespacing="125%"><tspan
             sodipodi:role="line"
             x="93.409752"
             y="844.49298"
             id="tspan5462">Given this ordering ...</tspan></text>
        <text
           sodipodi:linespacing="125%"
           id="text5466"
           y="973.47589"
           x="6.0528007"
           style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
           xml:space="preserve"><tspan
             id="tspan5468"
             y="973.47589"
             x="6.0528007"
             sodipodi:role="line">.... RCU guarantees this ordering.</tspan></text>
        <path
           style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
           d="M 108.47914,114.18551 59.102431,217.8018"
           id="path5470"
           inkscape:connector-curvature="0"
           transform="translate(26.137646,740.75144)"
           sodipodi:nodetypes="cc" />
      </g>
    </g>
    <g
       transform="translate(0,53.928085)"
       id="g3022">
      <g
         id="g4938"
         transform="translate(-6,-40)">
        <rect
           transform="translate(26.663998,740.34064)"
           y="40.960808"
           x="6.0236483"
           height="25.299324"
           width="57.827026"
           id="rect4930"
           style="fill:#fe9696;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
        <text
           sodipodi:linespacing="125%"
           id="text4932"
           y="795.81049"
           x="61.421471"
           style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
           xml:space="preserve"><tspan
             style="font-size:6px;text-align:center;text-anchor:middle"
             id="tspan4936"
             y="795.81049"
             x="61.421471"
             sodipodi:role="line">rcu_read_lock()</tspan></text>
      </g>
      <g
         id="g4944"
         transform="translate(-6,4)">
        <rect
           style="fill:#96c8fe;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
           id="rect4946"
           width="57.827026"
           height="25.299324"
           x="6.0236483"
           y="40.960808"
           transform="translate(26.663998,740.34064)" />
        <text
           xml:space="preserve"
           style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
           x="61.421471"
           y="791.81049"
           id="text4948"
           sodipodi:linespacing="125%"><tspan
             sodipodi:role="line"
             id="tspan4950"
             x="61.421471"
             y="791.81049"
             style="text-align:center;text-anchor:middle">Memory</tspan><tspan
             sodipodi:role="line"
             x="61.421471"
             y="801.81049"
             id="tspan4952"
             style="text-align:center;text-anchor:middle">Reference X0</tspan></text>
      </g>
      <path
         style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
         d="m 55.601159,766.60077 0,16.86622"
         id="path5150"
         inkscape:connector-curvature="0" />
      <path
         inkscape:connector-curvature="0"
         id="path5346"
         d="m 55.601159,810.60077 0,16.86622"
         style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)" />
      <g
         id="g5348"
         transform="translate(-6,48)">
        <rect
           style="fill:#96c8fe;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
           id="rect5350"
           width="57.827026"
           height="25.299324"
           x="6.0236483"
           y="40.960808"
           transform="translate(26.663998,740.34064)" />
        <text
           xml:space="preserve"
           style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
           x="61.421471"
           y="791.81049"
           id="text5352"
           sodipodi:linespacing="125%"><tspan
             sodipodi:role="line"
             id="tspan5354"
             x="61.421471"
             y="791.81049"
             style="text-align:center;text-anchor:middle">Memory</tspan><tspan
             sodipodi:role="line"
             x="61.421471"
             y="801.81049"
             id="tspan5356"
             style="text-align:center;text-anchor:middle">Reference Y0</tspan></text>
      </g>
      <g
         transform="translate(124,89.95315)"
         id="g5360">
        <rect
           style="fill:#96c8fe;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
           id="rect5362"
           width="57.827026"
           height="25.299324"
           x="6.0236483"
           y="40.960808"
           transform="translate(26.663998,740.34064)" />
        <text
           xml:space="preserve"
           style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
           x="61.421471"
           y="791.81049"
           id="text5364"
           sodipodi:linespacing="125%"><tspan
             sodipodi:role="line"
             id="tspan5366"
             x="61.421471"
             y="791.81049"
             style="text-align:center;text-anchor:middle">Memory</tspan><tspan
             sodipodi:role="line"
             x="61.421471"
             y="801.81049"
             id="tspan5368"
             style="text-align:center;text-anchor:middle">Reference Y1</tspan></text>
      </g>
      <g
         transform="translate(124,134)"
         id="g5370">
        <rect
           transform="translate(26.663998,740.34064)"
           y="40.960808"
           x="6.0236483"
           height="25.299324"
           width="57.827026"
           id="rect5372"
           style="fill:#fe9696;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
        <text
           sodipodi:linespacing="125%"
           id="text5374"
           y="795.81049"
           x="61.421471"
           style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
           xml:space="preserve"><tspan
             style="font-size:6px;text-align:center;text-anchor:middle"
             id="tspan5378"
             y="795.81049"
             x="61.421471"
             sodipodi:role="line">synchronize_rcu()</tspan></text>
      </g>
      <path
         inkscape:connector-curvature="0"
         id="path5380"
         d="m 185.60116,896.60077 0,16.86622"
         style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)" />
      <path
         style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
         d="m 185.60116,940.60077 0,16.86622"
         id="path5382"
         inkscape:connector-curvature="0" />
      <g
         transform="translate(124,178)"
         id="g5384">
        <rect
           transform="translate(26.663998,740.34064)"
           y="40.960808"
           x="6.0236483"
           height="25.299324"
           width="57.827026"
           id="rect5386"
           style="fill:#96c8fe;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
        <text
           sodipodi:linespacing="125%"
           id="text5388"
           y="791.81049"
           x="61.421471"
           style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
           xml:space="preserve"><tspan
             style="text-align:center;text-anchor:middle"
             y="791.81049"
             x="61.421471"
             id="tspan5390"
             sodipodi:role="line">Memory</tspan><tspan
             style="text-align:center;text-anchor:middle"
             id="tspan5392"
             y="801.81049"
             x="61.421471"
             sodipodi:role="line">Reference X1</tspan></text>
      </g>
      <path
         style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
         d="m 55.601159,854.60077 0,16.86622"
         id="path3854"
         inkscape:connector-curvature="0" />
      <g
         transform="translate(-6,92)"
         id="g3858">
        <rect
           style="fill:#fe9696;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
           id="rect3860"
           width="57.827026"
           height="25.299324"
           x="6.0236483"
           y="40.960808"
           transform="translate(26.663998,740.34064)" />
        <text
           xml:space="preserve"
           style="font-size:8px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
           x="61.421471"
           y="795.81049"
           id="text3862"
           sodipodi:linespacing="125%"><tspan
             sodipodi:role="line"
             x="61.421471"
             y="795.81049"
             id="tspan3864"
             style="font-size:6px;text-align:center;text-anchor:middle">rcu_read_unlock()</tspan></text>
      </g>
      <text
         xml:space="preserve"
         style="font-size:8px;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:Sans;-inkscape-font-specification:Sans"
         x="56.733543"
         y="733.72308"
         id="text3251"
         sodipodi:linespacing="125%"><tspan
           sodipodi:role="line"
           id="tspan3253"
           x="56.733543"
           y="733.72308">P0()</tspan></text>
      <text
         sodipodi:linespacing="125%"
         id="text3255"
         y="997.72308"
         x="186.73355"
         style="font-size:8px;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:Sans;-inkscape-font-specification:Sans"
         xml:space="preserve"><tspan
           y="997.72308"
           x="186.73355"
           id="tspan3257"
           sodipodi:role="line">P1()</tspan></text>
    </g>
  </g>
</svg>

.
