Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 11a65df5 authored by Paul E. McKenney's avatar Paul E. McKenney
Browse files

documentation: Remove unnecessary images from requirements



This commit removes a cutesy cartoon and also a diagram that can
just as easily be represented by text.

Reported-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
parent 514f1eb5
Loading
Loading
Loading
Loading
−98.5 KiB
Loading image diff...
+0 −237
Original line number Diff line number Diff line
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Creator: fig2dev Version 3.2 Patchlevel 5d -->

<!-- CreationDate: Tue Mar  4 18:34:25 2014 -->

<!-- Magnification: 3.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="1089.1382"
   height="668.21368"
   viewBox="-2121 -36 14554.634 8876.4061"
   id="svg2"
   version="1.1"
   inkscape:version="0.48.3.1 r9886"
   sodipodi:docname="RCUApplicability.svg">
  <metadata
     id="metadata40">
    <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>
  <defs
     id="defs38" />
  <sodipodi:namedview
     pagecolor="#ffffff"
     bordercolor="#666666"
     borderopacity="1"
     objecttolerance="10"
     gridtolerance="10"
     guidetolerance="10"
     inkscape:pageopacity="0"
     inkscape:pageshadow="2"
     inkscape:window-width="849"
     inkscape:window-height="639"
     id="namedview36"
     showgrid="false"
     inkscape:zoom="0.51326165"
     inkscape:cx="544.56912"
     inkscape:cy="334.10686"
     inkscape:window-x="149"
     inkscape:window-y="448"
     inkscape:window-maximized="0"
     inkscape:current-layer="g4"
     fit-margin-top="5"
     fit-margin-left="5"
     fit-margin-right="5"
     fit-margin-bottom="5" />
  <g
     style="fill:none;stroke-width:0.025in"
     id="g4"
     transform="translate(-2043.6828,14.791398)">
    <!-- Line: box -->
    <rect
       x="0"
       y="0"
       width="14400"
       height="8775"
       rx="0"
       style="fill:#ffa1a1;stroke:#000000;stroke-width:21;stroke-linecap:butt;stroke-linejoin:miter"
       id="rect6" />
    <!-- Line: box -->
    <rect
       x="1350"
       y="0"
       width="11700"
       height="6075"
       rx="0"
       style="fill:#ffff00;stroke:#000000;stroke-width:21;stroke-linecap:butt;stroke-linejoin:miter"
       id="rect8" />
    <!-- Line: box -->
    <rect
       x="2700"
       y="0"
       width="9000"
       height="4275"
       rx="0"
       style="fill:#00ff00;stroke:#000000;stroke-width:21;stroke-linecap:butt;stroke-linejoin:miter"
       id="rect10" />
    <!-- Line: box -->
    <rect
       x="4050"
       y="0"
       width="6300"
       height="2475"
       rx="0"
       style="fill:#87cfff;stroke:#000000;stroke-width:21;stroke-linecap:butt;stroke-linejoin:miter"
       id="rect12" />
    <!-- Text -->
    <text
       xml:space="preserve"
       x="7200"
       y="900"
       font-style="normal"
       font-weight="normal"
       font-size="324"
       id="text14"
       sodipodi:linespacing="125%"
       style="font-size:427.63009644px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;font-family:Nimbus Sans L;-inkscape-font-specification:Nimbus Sans L"><tspan
         style="font-size:427.63009644px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;font-family:Nimbus Sans L;-inkscape-font-specification:Nimbus Sans L"
         id="tspan3017">Read-Mostly, Stale &amp;</tspan></text>
    <!-- Text -->
    <text
       xml:space="preserve"
       x="7200"
       y="1350"
       font-style="normal"
       font-weight="normal"
       font-size="324"
       id="text16"
       sodipodi:linespacing="125%"
       style="font-size:427.63009644px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;font-family:Nimbus Sans L;-inkscape-font-specification:Nimbus Sans L"><tspan
         style="font-size:427.63009644px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;font-family:Nimbus Sans L;-inkscape-font-specification:Nimbus Sans L"
         id="tspan3019">Inconsistent Data OK</tspan></text>
    <!-- Text -->
    <text
       xml:space="preserve"
       x="7200"
       y="1800"
       font-style="normal"
       font-weight="normal"
       font-size="324"
       id="text18"
       sodipodi:linespacing="125%"
       style="font-size:427.63009644px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;font-family:Nimbus Sans L;-inkscape-font-specification:Nimbus Sans L"><tspan
         style="font-size:427.63009644px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;font-family:Nimbus Sans L;-inkscape-font-specification:Nimbus Sans L"
         id="tspan3021">(RCU Works Great!!!)</tspan></text>
    <!-- Text -->
    <text
       xml:space="preserve"
       x="7200"
       y="3825"
       font-style="normal"
       font-weight="normal"
       font-size="324"
       id="text20"
       sodipodi:linespacing="125%"
       style="font-size:427.63009644px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;font-family:Nimbus Sans L;-inkscape-font-specification:Nimbus Sans L"><tspan
         style="font-size:427.63009644px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;font-family:Nimbus Sans L;-inkscape-font-specification:Nimbus Sans L"
         id="tspan3023">(RCU Works Well)</tspan></text>
    <!-- Text -->
    <text
       xml:space="preserve"
       x="7200"
       y="3375"
       font-style="normal"
       font-weight="normal"
       font-size="324"
       id="text22"
       sodipodi:linespacing="125%"
       style="font-size:427.63009644px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;font-family:Nimbus Sans L;-inkscape-font-specification:Nimbus Sans L"><tspan
         style="font-size:427.63009644px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;font-family:Nimbus Sans L;-inkscape-font-specification:Nimbus Sans L"
         id="tspan3025">Read-Mostly, Need Consistent Data</tspan></text>
    <!-- Text -->
    <text
       xml:space="preserve"
       x="7200"
       y="5175"
       font-style="normal"
       font-weight="normal"
       font-size="324"
       id="text24"
       sodipodi:linespacing="125%"
       style="font-size:427.63009644px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;font-family:Nimbus Sans L;-inkscape-font-specification:Nimbus Sans L"><tspan
         style="font-size:427.63009644px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;font-family:Nimbus Sans L;-inkscape-font-specification:Nimbus Sans L"
         id="tspan3027">Read-Write, Need Consistent Data</tspan></text>
    <!-- Text -->
    <text
       xml:space="preserve"
       x="7200"
       y="6975"
       font-style="normal"
       font-weight="normal"
       font-size="324"
       id="text26"
       style="font-size:427.63009644px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;font-family:Nimbus Sans L;-inkscape-font-specification:Nimbus Sans L"
       sodipodi:linespacing="125%">Update-Mostly, Need Consistent Data</text>
    <!-- Text -->
    <text
       xml:space="preserve"
       x="7200"
       y="5625"
       font-style="normal"
       font-weight="normal"
       font-size="324"
       id="text28"
       sodipodi:linespacing="125%"
       style="font-size:427.63009644px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;font-family:Nimbus Sans L;-inkscape-font-specification:Nimbus Sans L"><tspan
         style="font-size:427.63009644px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;font-family:Nimbus Sans L;-inkscape-font-specification:Nimbus Sans L"
         id="tspan3029">(RCU Might Be OK...)</tspan></text>
    <!-- Text -->
    <text
       xml:space="preserve"
       x="7200"
       y="7875"
       font-style="normal"
       font-weight="normal"
       font-size="324"
       id="text30"
       style="font-size:427.63009644px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;font-family:Nimbus Sans L;-inkscape-font-specification:Nimbus Sans L"
       sodipodi:linespacing="125%">(1) Provide Existence Guarantees For Update-Friendly Mechanisms</text>
    <!-- Text -->
    <text
       xml:space="preserve"
       x="7200"
       y="8325"
       font-style="normal"
       font-weight="normal"
       font-size="324"
       id="text32"
       style="font-size:427.63009644px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;font-family:Nimbus Sans L;-inkscape-font-specification:Nimbus Sans L"
       sodipodi:linespacing="125%">(2) Provide Wait-Free Read-Side Primitives for Real-Time Use)</text>
    <!-- Text -->
    <text
       xml:space="preserve"
       x="7200"
       y="7425"
       font-style="normal"
       font-weight="normal"
       font-size="324"
       id="text34"
       style="font-size:427.63009644px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;font-family:Nimbus Sans L;-inkscape-font-specification:Nimbus Sans L"
       sodipodi:linespacing="125%">(RCU is Very Unlikely to be the Right Tool For The Job, But it Can:</text>
  </g>
</svg>
+20 −8
Original line number Diff line number Diff line
@@ -1120,12 +1120,27 @@ These classes is covered in the following sections.
<h3><a name="Specialization">Specialization</a></h3>

<p>
RCU is and always has been intended primarily for read-mostly situations, as
illustrated by the following figure.
This means that RCU's read-side primitives are optimized, often at the
RCU is and always has been intended primarily for read-mostly situations,
which means that RCU's read-side primitives are optimized, often at the
expense of its update-side primitives.
Experience thus far is captured by the following list of situations:

<p><img src="RCUApplicability.svg" alt="RCUApplicability.svg" width="70%"></p>
<ol>
<li>	Read-mostly data, where stale and inconsistent data is not
	a problem:   RCU works great!
<li>	Read-mostly data, where data must be consistent:
	RCU works well.
<li>	Read-write data, where data must be consistent:
	RCU <i>might</i> work OK.
	Or not.
<li>	Write-mostly data, where data must be consistent:
	RCU is very unlikely to be the right tool for the job,
	with the following exceptions, where RCU can provide:
	<ol type=a>
	<li>	Existence guarantees for update-friendly mechanisms.
	<li>	Wait-free read-side primitives for real-time use.
	</ol>
</ol>

<p>
This focus on read-mostly situations means that RCU must interoperate
@@ -1171,10 +1186,7 @@ some period of time, so the exact wait period is a judgment call.
One of our pair of veternarians might wait 30 seconds before pronouncing
the cat dead, while the other might insist on waiting a full minute.
The two veternarians would then disagree on the state of the cat during
the final 30 seconds of the minute following the last heartbeat, as
fancifully illustrated below:

<p><img src="2013-08-is-it-dead.png" alt="2013-08-is-it-dead.png" width="431"></p>
the final 30 seconds of the minute following the last heartbeat.

<p>
Interestingly enough, this same situation applies to hardware.
+20 −8
Original line number Diff line number Diff line
@@ -1257,12 +1257,27 @@ These classes is covered in the following sections.
<h3><a name="Specialization">Specialization</a></h3>

<p>
RCU is and always has been intended primarily for read-mostly situations, as
illustrated by the following figure.
This means that RCU's read-side primitives are optimized, often at the
RCU is and always has been intended primarily for read-mostly situations,
which means that RCU's read-side primitives are optimized, often at the
expense of its update-side primitives.
Experience thus far is captured by the following list of situations:

<p><img src="RCUApplicability.svg" alt="RCUApplicability.svg" width="70%"></p>
<ol>
<li>	Read-mostly data, where stale and inconsistent data is not
	a problem:   RCU works great!
<li>	Read-mostly data, where data must be consistent:
	RCU works well.
<li>	Read-write data, where data must be consistent:
	RCU <i>might</i> work OK.
	Or not.
<li>	Write-mostly data, where data must be consistent:
	RCU is very unlikely to be the right tool for the job,
	with the following exceptions, where RCU can provide:
	<ol type=a>
	<li>	Existence guarantees for update-friendly mechanisms.
	<li>	Wait-free read-side primitives for real-time use.
	</ol>
</ol>

<p>
This focus on read-mostly situations means that RCU must interoperate
@@ -1330,10 +1345,7 @@ some period of time, so the exact wait period is a judgment call.
One of our pair of veternarians might wait 30 seconds before pronouncing
the cat dead, while the other might insist on waiting a full minute.
The two veternarians would then disagree on the state of the cat during
the final 30 seconds of the minute following the last heartbeat, as
fancifully illustrated below:

<p><img src="2013-08-is-it-dead.png" alt="2013-08-is-it-dead.png" width="431"></p>
the final 30 seconds of the minute following the last heartbeat.

<p>
Interestingly enough, this same situation applies to hardware.