<?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="232.92703"
   height="212.83498"
   id="svg2"
   version="1.1"
   inkscape:version="0.48.4 r9939"
   sodipodi:docname="RCUGuaranteeRev.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.528305"
     inkscape:cx="138.96772"
     inkscape:cy="88.78793"
     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="833"
     inkscape:window-height="874"
     inkscape:window-x="943"
     inkscape:window-y="85"
     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(17.862354,-788.24388)">
    <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 156.21652,758.06766 -25.6982,0.32748 -0.38479,86.55125 -77.839262,0.39552"
           style="fill:none;stroke:#64c8c8;stroke-width:15.32682609999999990;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
           sodipodi:nodetypes="cccc" />
        <path
           inkscape:connector-curvature="0"
           id="path5414"
           d="m 53.751752,861.30308 -0.36641,-31.87817 -1.83208,2.93133 -10.99248,12.82455 z"
           style="fill:#64c8c8;fill-opacity:1;stroke:#64c8c8;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
        <path
           style="fill:#00ff00;fill-opacity:1;stroke:#00ff00;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
           d="m 54.439951,873.32096 -0.36641,31.87817 -1.83208,-2.93133 -10.99248,-12.82455 z"
           id="path5450"
           inkscape:connector-curvature="0" />
        <path
           style="fill:none;stroke:#00ff00;stroke-width:16;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
           d="m 186.23819,857.94421 -0.0773,31.64174 -135.182961,-0.28288"
           id="path5456"
           inkscape:connector-curvature="0"
           sodipodi:nodetypes="ccc" />
        <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="-837.23907"
           y="132.1207"
           id="text5458"
           sodipodi:linespacing="125%"
           transform="matrix(0,-1,1,0,0,0)"><tspan
             sodipodi:role="line"
             x="-837.23907"
             y="132.1207"
             id="tspan5462">this ordering.</tspan></text>
        <text
           sodipodi:linespacing="125%"
           id="text5466"
           y="891.99835"
           x="54.399769"
           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="891.99835"
             x="54.399769"
             sodipodi:role="line">Given this ordering ...</tspan></text>
        <path
           style="fill:none;stroke:#000000;stroke-width:0.94868332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
           d="M 101.41572,884.80395 122.32804,849.4095"
           id="path5470"
           inkscape:connector-curvature="0"
           sodipodi:nodetypes="cc" />
        <text
           sodipodi:linespacing="125%"
           id="text5466-7"
           y="848.10419"
           x="53.993519"
           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-2"
             y="848.10419"
             x="53.993519"
             sodipodi:role="line">... RCU guarantees</tspan></text>
      </g>
    </g>
    <g
       transform="translate(0,53.928085)"
       id="g3022">
      <g
         id="g4938"
         transform="translate(-50,8)">
        <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(-50,52)">
        <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"
             x="61.421471"
             y="791.81049"
             id="tspan4952"
             style="text-align:center;text-anchor:middle">Memory</tspan><tspan
             sodipodi:role="line"
             x="61.421471"
             y="801.81049"
             style="text-align:center;text-anchor:middle"
             id="tspan3066">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 11.601159,814.60077 0,16.86622"
         id="path5150"
         inkscape:connector-curvature="0" />
      <path
         inkscape:connector-curvature="0"
         id="path5346"
         d="m 11.601159,858.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(-50,96)">
        <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"
             x="61.421471"
             y="791.81049"
             id="tspan5356"
             style="text-align:center;text-anchor:middle">Memory</tspan><tspan
             sodipodi:role="line"
             x="61.421471"
             y="801.81049"
             style="text-align:center;text-anchor:middle"
             id="tspan3068">Reference Y1</tspan></text>
      </g>
      <g
         transform="translate(124,-36.04685)"
         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"
             x="61.421471"
             y="791.81049"
             id="tspan5368"
             style="text-align:center;text-anchor:middle">Memory</tspan><tspan
             sodipodi:role="line"
             x="61.421471"
             y="801.81049"
             style="text-align:center;text-anchor:middle"
             id="tspan3070">Reference X0</tspan></text>
      </g>
      <g
         transform="translate(124,8)"
         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,770.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,814.60077 0,16.86622"
         id="path5382"
         inkscape:connector-curvature="0" />
      <g
         transform="translate(124,52)"
         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"
             id="tspan5392"
             y="791.81049"
             x="61.421471"
             sodipodi:role="line">Memory</tspan><tspan
             style="text-align:center;text-anchor:middle"
             y="801.81049"
             x="61.421471"
             sodipodi:role="line"
             id="tspan3072">Reference Y0</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 11.601159,902.60077 0,16.86622"
         id="path3854"
         inkscape:connector-curvature="0" />
      <g
         transform="translate(-50,140)"
         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="13.011486"
         y="784.56586"
         id="text3259"
         sodipodi:linespacing="125%"><tspan
           sodipodi:role="line"
           id="tspan3261"
           x="13.011486"
           y="784.56586">P0()</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="186.02127"
       y="794.23138"
       id="text3267"
       sodipodi:linespacing="125%"><tspan
         sodipodi:role="line"
         id="tspan3269"
         x="186.02127"
         y="794.23138">P1()</tspan></text>
  </g>
</svg>

.
