Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
linux
Commits
869cc745
Commit
869cc745
authored
May 01, 2018
by
Paul E. McKenney
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
doc: Update memory-ordering documentation for ->gp-seq
Signed-off-by:
Paul E. McKenney
<
paulmck@linux.vnet.ibm.com
>
parent
b1e1f21f
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
243 additions
and
223 deletions
+243
-223
Documentation/RCU/Design/Memory-Ordering/Tree-RCU-Memory-Ordering.html
.../RCU/Design/Memory-Ordering/Tree-RCU-Memory-Ordering.html
+10
-12
Documentation/RCU/Design/Memory-Ordering/TreeRCU-gp-cleanup.svg
...ntation/RCU/Design/Memory-Ordering/TreeRCU-gp-cleanup.svg
+65
-58
Documentation/RCU/Design/Memory-Ordering/TreeRCU-gp-init-1.svg
...entation/RCU/Design/Memory-Ordering/TreeRCU-gp-init-1.svg
+9
-7
Documentation/RCU/Design/Memory-Ordering/TreeRCU-gp-init-3.svg
...entation/RCU/Design/Memory-Ordering/TreeRCU-gp-init-3.svg
+30
-26
Documentation/RCU/Design/Memory-Ordering/TreeRCU-gp.svg
Documentation/RCU/Design/Memory-Ordering/TreeRCU-gp.svg
+123
-114
Documentation/RCU/Design/Memory-Ordering/TreeRCU-qs.svg
Documentation/RCU/Design/Memory-Ordering/TreeRCU-qs.svg
+6
-6
No files found.
Documentation/RCU/Design/Memory-Ordering/Tree-RCU-Memory-Ordering.html
View file @
869cc745
...
@@ -357,7 +357,7 @@ parts, starting in this section with the various phases of
...
@@ -357,7 +357,7 @@ parts, starting in this section with the various phases of
grace-period initialization.
grace-period initialization.
<p>
The first ordering-related grace-period initialization action is to
<p>
The first ordering-related grace-period initialization action is to
increment the
<tt>
rcu_state
</tt>
structure's
<tt>
-
>
gpnum
</tt>
advance the
<tt>
rcu_state
</tt>
structure's
<tt>
-
>
gp_seq
</tt>
grace-period-number counter, as shown below:
grace-period-number counter, as shown below:
</p><p><img
src=
"TreeRCU-gp-init-1.svg"
alt=
"TreeRCU-gp-init-1.svg"
width=
"75%"
>
</p><p><img
src=
"TreeRCU-gp-init-1.svg"
alt=
"TreeRCU-gp-init-1.svg"
width=
"75%"
>
...
@@ -388,7 +388,7 @@ its last CPU and if the next <tt>rcu_node</tt> structure has no online CPUs).
...
@@ -388,7 +388,7 @@ its last CPU and if the next <tt>rcu_node</tt> structure has no online CPUs).
<p>
The final
<tt>
rcu_gp_init()
</tt>
pass through the
<tt>
rcu_node
</tt>
<p>
The final
<tt>
rcu_gp_init()
</tt>
pass through the
<tt>
rcu_node
</tt>
tree traverses breadth-first, setting each
<tt>
rcu_node
</tt>
structure's
tree traverses breadth-first, setting each
<tt>
rcu_node
</tt>
structure's
<tt>
-
>
gp
num
</tt>
field to the newly increment
ed value from the
<tt>
-
>
gp
_seq
</tt>
field to the newly advanc
ed value from the
<tt>
rcu_state
</tt>
structure, as shown in the following diagram.
<tt>
rcu_state
</tt>
structure, as shown in the following diagram.
</p><p><img
src=
"TreeRCU-gp-init-3.svg"
alt=
"TreeRCU-gp-init-1.svg"
width=
"75%"
>
</p><p><img
src=
"TreeRCU-gp-init-3.svg"
alt=
"TreeRCU-gp-init-1.svg"
width=
"75%"
>
...
@@ -398,9 +398,9 @@ tree traverses breadth-first, setting each <tt>rcu_node</tt> structure's
...
@@ -398,9 +398,9 @@ tree traverses breadth-first, setting each <tt>rcu_node</tt> structure's
to notice that a new grace period has started, as described in the next
to notice that a new grace period has started, as described in the next
section.
section.
But because the grace-period kthread started the grace period at the
But because the grace-period kthread started the grace period at the
root (with the
increment
of the
<tt>
rcu_state
</tt>
structure's
root (with the
advancing
of the
<tt>
rcu_state
</tt>
structure's
<tt>
-
>
gp
num
</tt>
field) before setting each leaf
<tt>
rcu_node
</tt>
<tt>
-
>
gp
_seq
</tt>
field) before setting each leaf
<tt>
rcu_node
</tt>
structure's
<tt>
-
>
gp
num
</tt>
field, each CPU's observation of
structure's
<tt>
-
>
gp
_seq
</tt>
field, each CPU's observation of
the start of the grace period will happen after the actual start
the start of the grace period will happen after the actual start
of the grace period.
of the grace period.
...
@@ -466,7 +466,7 @@ section that the grace period must wait on.
...
@@ -466,7 +466,7 @@ section that the grace period must wait on.
<tr><td>
<tr><td>
But a RCU read-side critical section might have started
But a RCU read-side critical section might have started
after the beginning of the grace period
after the beginning of the grace period
(the
<tt>
-
>
gpnum++
</tt>
from earlier), so why should
(the
advancing of
<tt>
-
>
gp_seq
</tt>
from earlier), so why should
the grace period wait on such a critical section?
the grace period wait on such a critical section?
</td></tr>
</td></tr>
<tr><th
align=
"left"
>
Answer:
</th></tr>
<tr><th
align=
"left"
>
Answer:
</th></tr>
...
@@ -609,10 +609,8 @@ states outstanding from other CPUs.
...
@@ -609,10 +609,8 @@ states outstanding from other CPUs.
<h4><a
name=
"Grace-Period Cleanup"
>
Grace-Period Cleanup
</a></h4>
<h4><a
name=
"Grace-Period Cleanup"
>
Grace-Period Cleanup
</a></h4>
<p>
Grace-period cleanup first scans the
<tt>
rcu_node
</tt>
tree
<p>
Grace-period cleanup first scans the
<tt>
rcu_node
</tt>
tree
breadth-first setting all the
<tt>
-
>
completed
</tt>
fields equal
breadth-first advancing all the
<tt>
-
>
gp_seq
</tt>
fields, then it
to the number of the newly completed grace period, then it sets
advances the
<tt>
rcu_state
</tt>
structure's
<tt>
-
>
gp_seq
</tt>
field.
the
<tt>
rcu_state
</tt>
structure's
<tt>
-
>
completed
</tt>
field,
again to the number of the newly completed grace period.
The ordering effects are shown below:
The ordering effects are shown below:
</p><p><img
src=
"TreeRCU-gp-cleanup.svg"
alt=
"TreeRCU-gp-cleanup.svg"
width=
"75%"
>
</p><p><img
src=
"TreeRCU-gp-cleanup.svg"
alt=
"TreeRCU-gp-cleanup.svg"
width=
"75%"
>
...
@@ -634,7 +632,7 @@ grace-period cleanup is complete, the next grace period can begin.
...
@@ -634,7 +632,7 @@ grace-period cleanup is complete, the next grace period can begin.
CPU has reported its quiescent state, but it may be some
CPU has reported its quiescent state, but it may be some
milliseconds before RCU becomes aware of this.
milliseconds before RCU becomes aware of this.
The latest reasonable candidate is once the
<tt>
rcu_state
</tt>
The latest reasonable candidate is once the
<tt>
rcu_state
</tt>
structure's
<tt>
-
>
completed
</tt>
field has been updated,
structure's
<tt>
-
>
gp_seq
</tt>
field has been updated,
but it is quite possible that some CPUs have already completed
but it is quite possible that some CPUs have already completed
phase two of their updates by that time.
phase two of their updates by that time.
In short, if you are going to work with RCU, you need to
In short, if you are going to work with RCU, you need to
...
@@ -647,7 +645,7 @@ grace-period cleanup is complete, the next grace period can begin.
...
@@ -647,7 +645,7 @@ grace-period cleanup is complete, the next grace period can begin.
<h4><a
name=
"Callback Invocation"
>
Callback Invocation
</a></h4>
<h4><a
name=
"Callback Invocation"
>
Callback Invocation
</a></h4>
<p>
Once a given CPU's leaf
<tt>
rcu_node
</tt>
structure's
<p>
Once a given CPU's leaf
<tt>
rcu_node
</tt>
structure's
<tt>
-
>
completed
</tt>
field has been updated, that CPU can begin
<tt>
-
>
gp_seq
</tt>
field has been updated, that CPU can begin
invoking its RCU callbacks that were waiting for this grace period
invoking its RCU callbacks that were waiting for this grace period
to end.
to end.
These callbacks are identified by
<tt>
rcu_advance_cbs()
</tt>
,
These callbacks are identified by
<tt>
rcu_advance_cbs()
</tt>
,
...
...
Documentation/RCU/Design/Memory-Ordering/TreeRCU-gp-cleanup.svg
View file @
869cc745
...
@@ -384,11 +384,11 @@
...
@@ -384,11 +384,11 @@
inkscape:window-height=
"1144"
inkscape:window-height=
"1144"
id=
"namedview208"
id=
"namedview208"
showgrid=
"true"
showgrid=
"true"
inkscape:zoom=
"0.7
0710678
"
inkscape:zoom=
"0.7
8716603
"
inkscape:cx=
"
617.89017
"
inkscape:cx=
"
513.06403
"
inkscape:cy=
"
542.52419
"
inkscape:cy=
"
623.1214
"
inkscape:window-x=
"
86
"
inkscape:window-x=
"
102
"
inkscape:window-y=
"
2
8"
inkscape:window-y=
"
3
8"
inkscape:window-maximized=
"0"
inkscape:window-maximized=
"0"
inkscape:current-layer=
"g3188-3"
inkscape:current-layer=
"g3188-3"
fit-margin-top=
"5"
fit-margin-top=
"5"
...
@@ -417,13 +417,15 @@
...
@@ -417,13 +417,15 @@
id=
"g3188"
>
id=
"g3188"
>
<text
<text
xml:space=
"preserve"
xml:space=
"preserve"
x=
"31
99.1516
"
x=
"31
45.9592
"
y=
"13255.592"
y=
"13255.592"
font-style=
"normal"
font-style=
"normal"
font-weight=
"bold"
font-weight=
"bold"
font-size=
"192"
font-size=
"192"
id=
"text202"
id=
"text202"
style=
"font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;font-family:Courier"
>
-
>
completed = -
>
gpnum
</text>
style=
"font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;font-family:Courier"
><tspan
style=
"font-size:172.87567139px"
id=
"tspan3143"
>
rcu_seq_end(
&
rnp-
>
gp_seq)
</tspan></text>
<g
<g
id=
"g3107"
id=
"g3107"
transform=
"translate(947.90548,11584.029)"
>
transform=
"translate(947.90548,11584.029)"
>
...
@@ -502,13 +504,15 @@
...
@@ -502,13 +504,15 @@
</g>
</g>
<text
<text
xml:space=
"preserve"
xml:space=
"preserve"
x=
"5
324.537
1"
x=
"5
264.473
1"
y=
"154
14.598
"
y=
"154
28.84
"
font-style=
"normal"
font-style=
"normal"
font-weight=
"bold"
font-weight=
"bold"
font-size=
"192"
font-size=
"192"
id=
"text202-753"
id=
"text202-36-7"
style=
"font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"
>
-
>
completed = -
>
gpnum
</text>
style=
"font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"
><tspan
style=
"font-size:172.87567139px"
id=
"tspan3166-5"
>
rcu_seq_end(
&
rnp-
>
gp_seq)
</tspan></text>
</g>
</g>
<g
<g
style=
"fill:none;stroke-width:0.025in"
style=
"fill:none;stroke-width:0.025in"
...
@@ -547,15 +551,6 @@
...
@@ -547,15 +551,6 @@
sodipodi:linespacing=
"125%"
><tspan
sodipodi:linespacing=
"125%"
><tspan
style=
"font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans"
style=
"font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans"
id=
"tspan3104-6-5-6-0"
>
Leaf
</tspan></text>
id=
"tspan3104-6-5-6-0"
>
Leaf
</tspan></text>
<text
xml:space=
"preserve"
x=
"7479.5796"
y=
"17699.943"
font-style=
"normal"
font-weight=
"bold"
font-size=
"192"
id=
"text202-9"
style=
"font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"
>
-
>
completed = -
>
gpnum
</text>
<path
<path
sodipodi:nodetypes=
"cc"
sodipodi:nodetypes=
"cc"
inkscape:connector-curvature=
"0"
inkscape:connector-curvature=
"0"
...
@@ -566,15 +561,6 @@
...
@@ -566,15 +561,6 @@
style=
"fill:none;stroke-width:0.025in"
style=
"fill:none;stroke-width:0.025in"
transform=
"translate(-737.93887,7732.6672)"
transform=
"translate(-737.93887,7732.6672)"
id=
"g3188-3"
>
id=
"g3188-3"
>
<text
xml:space=
"preserve"
x=
"3225.7478"
y=
"13175.802"
font-style=
"normal"
font-weight=
"bold"
font-size=
"192"
id=
"text202-60"
style=
"font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;font-family:Courier"
>
rsp-
>
completed =
</text>
<g
<g
id=
"g3107-62"
id=
"g3107-62"
transform=
"translate(947.90548,11584.029)"
>
transform=
"translate(947.90548,11584.029)"
>
...
@@ -607,15 +593,6 @@
...
@@ -607,15 +593,6 @@
sodipodi:linespacing=
"125%"
><tspan
sodipodi:linespacing=
"125%"
><tspan
style=
"font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans"
style=
"font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans"
id=
"tspan3104-6-5-7"
>
Root
</tspan></text>
id=
"tspan3104-6-5-7"
>
Root
</tspan></text>
<text
xml:space=
"preserve"
x=
"3225.7478"
y=
"13390.038"
font-style=
"normal"
font-weight=
"bold"
font-size=
"192"
id=
"text202-60-3"
style=
"font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"
>
rnp-
>
completed
</text>
<flowRoot
<flowRoot
xml:space=
"preserve"
xml:space=
"preserve"
id=
"flowRoot3356"
id=
"flowRoot3356"
...
@@ -627,7 +604,18 @@
...
@@ -627,7 +604,18 @@
height=
"63.63961"
height=
"63.63961"
x=
"332.34018"
x=
"332.34018"
y=
"681.87292"
/></flowRegion><flowPara
y=
"681.87292"
/></flowRegion><flowPara
id=
"flowPara3362"
/></flowRoot>
</g>
id=
"flowPara3362"
/></flowRoot>
<text
xml:space=
"preserve"
x=
"3156.6121"
y=
"13317.754"
font-style=
"normal"
font-weight=
"bold"
font-size=
"192"
id=
"text202-36-6"
style=
"font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"
><tspan
style=
"font-size:172.87567139px"
id=
"tspan3166-0"
>
rcu_seq_end(
&
rsp-
>
gp_seq)
</tspan></text>
</g>
<g
<g
style=
"fill:none;stroke-width:0.025in"
style=
"fill:none;stroke-width:0.025in"
transform=
"translate(-858.40227,7769.0342)"
transform=
"translate(-858.40227,7769.0342)"
...
@@ -859,6 +847,17 @@
...
@@ -859,6 +847,17 @@
id=
"path3414-8-3-6-6"
id=
"path3414-8-3-6-6"
inkscape:connector-curvature=
"0"
inkscape:connector-curvature=
"0"
sodipodi:nodetypes=
"cc"
/>
sodipodi:nodetypes=
"cc"
/>
<text
xml:space=
"preserve"
x=
"7418.769"
y=
"17646.104"
font-style=
"normal"
font-weight=
"bold"
font-size=
"192"
id=
"text202-36-70"
style=
"font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"
><tspan
style=
"font-size:172.87567139px"
id=
"tspan3166-93"
>
rcu_seq_end(
&
rnp-
>
gp_seq)
</tspan></text>
</g>
</g>
<g
<g
transform=
"translate(-1642.5377,-11611.245)"
transform=
"translate(-1642.5377,-11611.245)"
...
@@ -887,13 +886,15 @@
...
@@ -887,13 +886,15 @@
</g>
</g>
<text
<text
xml:space=
"preserve"
xml:space=
"preserve"
x=
"5
327.3057
"
x=
"5
274.1133
"
y=
"15428.84"
y=
"15428.84"
font-style=
"normal"
font-style=
"normal"
font-weight=
"bold"
font-weight=
"bold"
font-size=
"192"
font-size=
"192"
id=
"text202-36"
id=
"text202-36"
style=
"font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"
>
-
>
completed = -
>
gpnum
</text>
style=
"font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"
><tspan
style=
"font-size:172.87567139px"
id=
"tspan3166"
>
rcu_seq_end(
&
rnp-
>
gp_seq)
</tspan></text>
</g>
</g>
<g
<g
transform=
"translate(-151.71746,-11647.612)"
transform=
"translate(-151.71746,-11647.612)"
...
@@ -972,13 +973,15 @@
...
@@ -972,13 +973,15 @@
id=
"tspan3104-6-5-6-0-92"
>
Leaf
</tspan></text>
id=
"tspan3104-6-5-6-0-92"
>
Leaf
</tspan></text>
<text
<text
xml:space=
"preserve"
xml:space=
"preserve"
x=
"74
86.4907
"
x=
"74
08.5918
"
y=
"176
70.119
"
y=
"176
19.504
"
font-style=
"normal"
font-style=
"normal"
font-weight=
"bold"
font-weight=
"bold"
font-size=
"192"
font-size=
"192"
id=
"text202-6"
id=
"text202-36-2"
style=
"font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"
>
-
>
completed = -
>
gpnum
</text>
style=
"font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"
><tspan
style=
"font-size:172.87567139px"
id=
"tspan3166-9"
>
rcu_seq_end(
&
rnp-
>
gp_seq)
</tspan></text>
</g>
</g>
<g
<g
transform=
"translate(-6817.1997,-11647.612)"
transform=
"translate(-6817.1997,-11647.612)"
...
@@ -1019,13 +1022,15 @@
...
@@ -1019,13 +1022,15 @@
id=
"tspan3104-6-5-6-0-1"
>
Leaf
</tspan></text>
id=
"tspan3104-6-5-6-0-1"
>
Leaf
</tspan></text>
<text
<text
xml:space=
"preserve"
xml:space=
"preserve"
x=
"74
74.1382
"
x=
"74
16.8003
"
y=
"176
88.926
"
y=
"176
19.504
"
font-style=
"normal"
font-style=
"normal"
font-weight=
"bold"
font-weight=
"bold"
font-size=
"192"
font-size=
"192"
id=
"text202-5"
id=
"text202-36-3"
style=
"font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"
>
-
>
completed = -
>
gpnum
</text>
style=
"font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"
><tspan
style=
"font-size:172.87567139px"
id=
"tspan3166-56"
>
rcu_seq_end(
&
rnp-
>
gp_seq)
</tspan></text>
</g>
</g>
<path
<path
style=
"fill:none;stroke:#000000;stroke-width:13.29812908px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)"
style=
"fill:none;stroke:#000000;stroke-width:13.29812908px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)"
...
@@ -1059,15 +1064,6 @@
...
@@ -1059,15 +1064,6 @@
id=
"path3414-8-3-6"
id=
"path3414-8-3-6"
inkscape:connector-curvature=
"0"
inkscape:connector-curvature=
"0"
sodipodi:nodetypes=
"cc"
/>
sodipodi:nodetypes=
"cc"
/>
<text
xml:space=
"preserve"
x=
"7318.9653"
y=
"6031.6353"
font-style=
"normal"
font-weight=
"bold"
font-size=
"192"
id=
"text202-2"
style=
"font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"
>
-
>
completed = -
>
gpnum
</text>
<g
<g
style=
"fill:none;stroke-width:0.025in"
style=
"fill:none;stroke-width:0.025in"
id=
"g4504-3-9"
id=
"g4504-3-9"
...
@@ -1123,4 +1119,15 @@
...
@@ -1123,4 +1119,15 @@
id=
"path3134-9-0-3-5"
id=
"path3134-9-0-3-5"
d=
"m 6875.6003,15833.906 1595.7755,0"
d=
"m 6875.6003,15833.906 1595.7755,0"
style=
"fill:none;stroke:#969696;stroke-width:53.19251633;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Send-36)"
/>
style=
"fill:none;stroke:#969696;stroke-width:53.19251633;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Send-36)"
/>
<text
xml:space=
"preserve"
x=
"7275.2612"
y=
"5971.8916"
font-style=
"normal"
font-weight=
"bold"
font-size=
"192"
id=
"text202-36-1"
style=
"font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"
><tspan
style=
"font-size:172.87567139px"
id=
"tspan3166-2"
>
rcu_seq_end(
&
rnp-
>
gp_seq)
</tspan></text>
</svg>
</svg>
Documentation/RCU/Design/Memory-Ordering/TreeRCU-gp-init-1.svg
View file @
869cc745
...
@@ -272,13 +272,13 @@
...
@@ -272,13 +272,13 @@
inkscape:window-height=
"1144"
inkscape:window-height=
"1144"
id=
"namedview208"
id=
"namedview208"
showgrid=
"true"
showgrid=
"true"
inkscape:zoom=
"
0.70710678
"
inkscape:zoom=
"
2.6330492
"
inkscape:cx=
"
617.89019
"
inkscape:cx=
"
524.82797
"
inkscape:cy=
"
636.57143
"
inkscape:cy=
"
519.31194
"
inkscape:window-x=
"
697
"
inkscape:window-x=
"
79
"
inkscape:window-y=
"28"
inkscape:window-y=
"28"
inkscape:window-maximized=
"0"
inkscape:window-maximized=
"0"
inkscape:current-layer=
"
svg2
"
inkscape:current-layer=
"
g3188
"
fit-margin-top=
"5"
fit-margin-top=
"5"
fit-margin-right=
"5"
fit-margin-right=
"5"
fit-margin-left=
"5"
fit-margin-left=
"5"
...
@@ -305,13 +305,15 @@
...
@@ -305,13 +305,15 @@
id=
"g3188"
>
id=
"g3188"
>
<text
<text
xml:space=
"preserve"
xml:space=
"preserve"
x=
"3
305.5364
"
x=
"3
119.363
"
y=
"13255.592"
y=
"13255.592"
font-style=
"normal"
font-style=
"normal"
font-weight=
"bold"
font-weight=
"bold"
font-size=
"192"
font-size=
"192"
id=
"text202"
id=
"text202"
style=
"font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;font-family:Courier"
>
rsp-
>
gpnum++
</text>
style=
"font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;font-family:Courier"
><tspan
style=
"font-size:172.87567139px"
id=
"tspan3071"
>
rcu_seq_start(rsp-
>
gp_seq)
</tspan></text>
<g
<g
id=
"g3107"
id=
"g3107"
transform=
"translate(947.90548,11584.029)"
>
transform=
"translate(947.90548,11584.029)"
>
...
...
Documentation/RCU/Design/Memory-Ordering/TreeRCU-gp-init-3.svg
View file @
869cc745
...
@@ -19,7 +19,7 @@
...
@@ -19,7 +19,7 @@
id=
"svg2"
id=
"svg2"
version=
"1.1"
version=
"1.1"
inkscape:version=
"0.48.4 r9939"
inkscape:version=
"0.48.4 r9939"
sodipodi:docname=
"TreeRCU-gp-init-
2
.svg"
>
sodipodi:docname=
"TreeRCU-gp-init-
3
.svg"
>
<metadata
<metadata
id=
"metadata212"
>
id=
"metadata212"
>
<rdf:RDF>
<rdf:RDF>
...
@@ -257,18 +257,22 @@
...
@@ -257,18 +257,22 @@
inkscape:window-width=
"1087"
inkscape:window-width=
"1087"
inkscape:window-height=
"1144"
inkscape:window-height=
"1144"
id=
"namedview208"
id=
"namedview208"
showgrid=
"
fals
e"
showgrid=
"
tru
e"
inkscape:zoom=
"0.
70710678
"
inkscape:zoom=
"0.
68224756
"
inkscape:cx=
"617.89019"
inkscape:cx=
"617.89019"
inkscape:cy=
"625.84293"
inkscape:cy=
"625.84293"
inkscape:window-x=
"
697
"
inkscape:window-x=
"
54
"
inkscape:window-y=
"28"
inkscape:window-y=
"28"
inkscape:window-maximized=
"0"
inkscape:window-maximized=
"0"
inkscape:current-layer=
"
svg2
"
inkscape:current-layer=
"
g3153
"
fit-margin-top=
"5"
fit-margin-top=
"5"
fit-margin-right=
"5"
fit-margin-right=
"5"
fit-margin-left=
"5"
fit-margin-left=
"5"
fit-margin-bottom=
"5"
/>
fit-margin-bottom=
"5"
>
<inkscape:grid
type=
"xygrid"
id=
"grid3090"
/>
</sodipodi:namedview>
<path
<path
sodipodi:nodetypes=
"cccccccccccccccccccccccc"
sodipodi:nodetypes=
"cccccccccccccccccccccccc"
inkscape:connector-curvature=
"0"
inkscape:connector-curvature=
"0"
...
@@ -281,13 +285,13 @@
...
@@ -281,13 +285,13 @@
id=
"g3188"
>
id=
"g3188"
>
<text
<text
xml:space=
"preserve"
xml:space=
"preserve"
x=
"3
305.5364
"
x=
"3
145.9592
"
y=
"13255.592"
y=
"13255.592"
font-style=
"normal"
font-style=
"normal"
font-weight=
"bold"
font-weight=
"bold"
font-size=
"192"
font-size=
"192"
id=
"text202"
id=
"text202"
style=
"font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;font-family:Courier"
>
-
>
gp
num = rsp-
>
gpnum
</text>
style=
"font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;font-family:Courier"
>
-
>
gp
_seq = rsp-
>
gp_seq
</text>
<g
<g
id=
"g3107"
id=
"g3107"
transform=
"translate(947.90548,11584.029)"
>
transform=
"translate(947.90548,11584.029)"
>
...
@@ -366,13 +370,13 @@
...
@@ -366,13 +370,13 @@
</g>
</g>
<text
<text
xml:space=
"preserve"
xml:space=
"preserve"
x=
"5
392.3345
"
x=
"5
253.6904
"
y=
"15407.
104
"
y=
"15407.
032
"
font-style=
"normal"
font-style=
"normal"
font-weight=
"bold"
font-weight=
"bold"
font-size=
"192"
font-size=
"192"
id=
"text202-6"
id=
"text202-6"
style=
"font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"
>
-
>
gp
num = rsp-
>
gpnum
</text>
style=
"font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"
>
-
>
gp
_seq = rsp-
>
gp_seq
</text>
</g>
</g>
<g
<g
style=
"fill:none;stroke-width:0.025in"
style=
"fill:none;stroke-width:0.025in"
...
@@ -413,13 +417,13 @@
...
@@ -413,13 +417,13 @@
id=
"tspan3104-6-5-6-0"
>
Leaf
</tspan></text>
id=
"tspan3104-6-5-6-0"
>
Leaf
</tspan></text>
<text
<text
xml:space=
"preserve"
xml:space=
"preserve"
x=
"7
536.4883
"
x=
"7
415.4365
"
y=
"176
40.934
"
y=
"176
70.572
"
font-style=
"normal"
font-style=
"normal"
font-weight=
"bold"
font-weight=
"bold"
font-size=
"192"
font-size=
"192"
id=
"text202-9"
id=
"text202-9"
style=
"font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"
>
-
>
gp
num = rsp-
>
gpnum
</text>
style=
"font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"
>
-
>
gp
_seq = rsp-
>
gp_seq
</text>
</g>
</g>
<g
<g
transform=
"translate(-1642.5375,-11610.962)"
transform=
"translate(-1642.5375,-11610.962)"
...
@@ -448,13 +452,13 @@
...
@@ -448,13 +452,13 @@
</g>
</g>
<text
<text
xml:space=
"preserve"
xml:space=
"preserve"
x=
"5
378.4146
"
x=
"5
258.0688
"
y=
"154
36.927
"
y=
"154
12.313
"
font-style=
"normal"
font-style=
"normal"
font-weight=
"bold"
font-weight=
"bold"
font-size=
"192"
font-size=
"192"
id=
"text202-3"
id=
"text202-3"
style=
"font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"
>
-
>
gp
num = rsp-
>
gpnum
</text>
style=
"font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"
>
-
>
gp
_seq = rsp-
>
gp_seq
</text>
</g>
</g>
<g
<g
transform=
"translate(-151.71726,-11647.329)"
transform=
"translate(-151.71726,-11647.329)"
...
@@ -533,13 +537,13 @@
...
@@ -533,13 +537,13 @@
id=
"tspan3104-6-5-6-0-92"
>
Leaf
</tspan></text>
id=
"tspan3104-6-5-6-0-92"
>
Leaf
</tspan></text>
<text
<text
xml:space=
"preserve"
xml:space=
"preserve"
x=
"7
520.1294
"
x=
"7
405.2607
"
y=
"1767
3.639
"
y=
"1767
0.572
"
font-style=
"normal"
font-style=
"normal"
font-weight=
"bold"
font-weight=
"bold"
font-size=
"192"
font-size=
"192"
id=
"text202-35"
id=
"text202-35"
style=
"font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"
>
-
>
gp
num = rsp-
>
gpnum
</text>
style=
"font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"
>
-
>
gp
_seq = rsp-
>
gp_seq
</text>
</g>
</g>
<g
<g
transform=
"translate(-6817.1998,-11647.329)"
transform=
"translate(-6817.1998,-11647.329)"
...
@@ -580,13 +584,13 @@
...
@@ -580,13 +584,13 @@
id=
"tspan3104-6-5-6-0-1"
>
Leaf
</tspan></text>
id=
"tspan3104-6-5-6-0-1"
>
Leaf
</tspan></text>
<text
<text
xml:space=
"preserve"
xml:space=
"preserve"
x=
"7
521.4663
"
x=
"7
413.4688
"
y=
"176
66.062
"
y=
"176
70.566
"
font-style=
"normal"
font-style=
"normal"
font-weight=
"bold"
font-weight=
"bold"
font-size=
"192"
font-size=
"192"
id=
"text202-75"
id=
"text202-75"
style=
"font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"
>
-
>
gp
num = rsp-
>
gpnum
</text>
style=
"font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"
>
-
>
gp
_seq = rsp-
>
gp_seq
</text>
</g>
</g>
<path
<path
style=
"fill:none;stroke:#000000;stroke-width:13.29812908px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)"
style=
"fill:none;stroke:#000000;stroke-width:13.29812908px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)"
...
@@ -622,11 +626,11 @@
...
@@ -622,11 +626,11 @@
sodipodi:nodetypes=
"cc"
/>
sodipodi:nodetypes=
"cc"
/>
<text
<text
xml:space=
"preserve"
xml:space=
"preserve"
x=
"7
370.856
"
x=
"7
271.9297
"
y=
"
5997.597
2"
y=
"
6023.241
2"
font-style=
"normal"
font-style=
"normal"
font-weight=
"bold"
font-weight=
"bold"
font-size=
"192"
font-size=
"192"
id=
"text202-62"
id=
"text202-62"
style=
"font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"
>
-
>
gp
num = rsp-
>
gpnum
</text>
style=
"font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"
>
-
>
gp
_seq = rsp-
>
gp_seq
</text>
</svg>
</svg>
Documentation/RCU/Design/Memory-Ordering/TreeRCU-gp.svg
View file @
869cc745
...
@@ -1070,13 +1070,13 @@
...
@@ -1070,13 +1070,13 @@
inkscape:window-height=
"1144"
inkscape:window-height=
"1144"
id=
"namedview208"
id=
"namedview208"
showgrid=
"true"
showgrid=
"true"
inkscape:zoom=
"0.
6004608
"
inkscape:zoom=
"0.
81932583
"
inkscape:cx=
"8
26.65969
"
inkscape:cx=
"8
40.45848
"
inkscape:cy=
"
483.3047
"
inkscape:cy=
"
5052.4242
"
inkscape:window-x=
"
66
"
inkscape:window-x=
"
787
"
inkscape:window-y=
"2
8
"
inkscape:window-y=
"2
4
"
inkscape:window-maximized=
"0"
inkscape:window-maximized=
"0"
inkscape:current-layer=
"
svg2
"
inkscape:current-layer=
"
g4
"
fit-margin-top=
"5"
fit-margin-top=
"5"
fit-margin-right=
"5"
fit-margin-right=
"5"
fit-margin-left=
"5"
fit-margin-left=
"5"
...
@@ -1543,15 +1543,6 @@
...
@@ -1543,15 +1543,6 @@
style=
"fill:none;stroke-width:0.025in"
style=
"fill:none;stroke-width:0.025in"
transform=
"translate(1749.0282,658.72243)"
transform=
"translate(1749.0282,658.72243)"
id=
"g3188"
>
id=
"g3188"
>
<text
xml:space=
"preserve"
x=
"3305.5364"
y=
"13255.592"
font-style=
"normal"
font-weight=
"bold"
font-size=
"192"
id=
"text202-5"
style=
"font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;font-family:Courier"
>
rsp-
>
gpnum++
</text>
<g
<g
id=
"g3107-62"
id=
"g3107-62"
transform=
"translate(947.90548,11584.029)"
>
transform=
"translate(947.90548,11584.029)"
>
...
@@ -1584,6 +1575,17 @@
...
@@ -1584,6 +1575,17 @@
sodipodi:linespacing=
"125%"
><tspan
sodipodi:linespacing=
"125%"
><tspan
style=
"font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans"
style=
"font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans"
id=
"tspan3104-6-5-7"
>
Root
</tspan></text>
id=
"tspan3104-6-5-7"
>
Root
</tspan></text>
<text
xml:space=
"preserve"
x=
"3137.9988"
y=
"13271.316"
font-style=
"normal"
font-weight=
"bold"
font-size=
"192"
id=
"text202-626"
style=
"font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"
><tspan
style=
"font-size:172.87567139px"
id=
"tspan3071"
>
rcu_seq_start(rsp-
>
gp_seq)
</tspan></text>
</g>
</g>
<rect
<rect
ry=
"0"
ry=
"0"
...
@@ -2318,15 +2320,6 @@
...
@@ -2318,15 +2320,6 @@
style=
"fill:none;stroke-width:0.025in"
style=
"fill:none;stroke-width:0.025in"
transform=
"translate(1739.0986,17188.625)"
transform=
"translate(1739.0986,17188.625)"
id=
"g3188-6"
>
id=
"g3188-6"
>
<text
xml:space=
"preserve"
x=
"3305.5364"
y=
"13255.592"
font-style=
"normal"
font-weight=
"bold"
font-size=
"192"
id=
"text202-1"
style=
"font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;font-family:Courier"
>
-
>
gpnum = rsp-
>
gpnum
</text>
<g
<g
id=
"g3107-5"
id=
"g3107-5"
transform=
"translate(947.90548,11584.029)"
>
transform=
"translate(947.90548,11584.029)"
>
...
@@ -2359,6 +2352,15 @@
...
@@ -2359,6 +2352,15 @@
sodipodi:linespacing=
"125%"
><tspan
sodipodi:linespacing=
"125%"
><tspan
style=
"font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans"
style=
"font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans"
id=
"tspan3104-6-5-1"
>
Root
</tspan></text>
id=
"tspan3104-6-5-1"
>
Root
</tspan></text>
<text
xml:space=
"preserve"
x=
"3147.9268"
y=
"13240.524"
font-style=
"normal"
font-weight=
"bold"
font-size=
"192"
id=
"text202-1"
style=
"font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"
>
-
>
gp_seq = rsp-
>
gp_seq
</text>
</g>
</g>
<g
<g
style=
"fill:none;stroke-width:0.025in"
style=
"fill:none;stroke-width:0.025in"
...
@@ -2387,13 +2389,13 @@
...
@@ -2387,13 +2389,13 @@
</g>
</g>
<text
<text
xml:space=
"preserve"
xml:space=
"preserve"
x=
"5
392.3345
"
x=
"5
263.1094
"
y=
"154
07.104
"
y=
"154
11.646
"
font-style=
"normal"
font-style=
"normal"
font-weight=
"bold"
font-weight=
"bold"
font-size=
"192"
font-size=
"192"
id=
"text202-
6-7
"
id=
"text202-
92
"
style=
"font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"
>
-
>
gp
num = rsp-
>
gpnum
</text>
style=
"font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"
>
-
>
gp
_seq = rsp-
>
gp_seq
</text>
</g>
</g>
<g
<g
style=
"fill:none;stroke-width:0.025in"
style=
"fill:none;stroke-width:0.025in"
...
@@ -2434,13 +2436,13 @@
...
@@ -2434,13 +2436,13 @@
id=
"tspan3104-6-5-6-0-94"
>
Leaf
</tspan></text>
id=
"tspan3104-6-5-6-0-94"
>
Leaf
</tspan></text>
<text
<text
xml:space=
"preserve"
xml:space=
"preserve"
x=
"7
536.488
3"
x=
"7
417.405
3"
y=
"176
40.934
"
y=
"176
55.502
"
font-style=
"normal"
font-style=
"normal"
font-weight=
"bold"
font-weight=
"bold"
font-size=
"192"
font-size=
"192"
id=
"text202-9"
id=
"text202-
75
9"
style=
"font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"
>
-
>
gp
num = rsp-
>
gpnum
</text>
style=
"font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"
>
-
>
gp
_seq = rsp-
>
gp_seq
</text>
</g>
</g>
<g
<g
transform=
"translate(-2353.8462,17224.992)"
transform=
"translate(-2353.8462,17224.992)"
...
@@ -2469,13 +2471,13 @@
...
@@ -2469,13 +2471,13 @@
</g>
</g>
<text
<text
xml:space=
"preserve"
xml:space=
"preserve"
x=
"5
378.4146
"
x=
"5
246.1548
"
y=
"154
36.927
"
y=
"154
11.648
"
font-style=
"normal"
font-style=
"normal"
font-weight=
"bold"
font-weight=
"bold"
font-size=
"192"
font-size=
"192"
id=
"text202-
3
"
id=
"text202-
87
"
style=
"font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"
>
-
>
gp
num = rsp-
>
gpnum
</text>
style=
"font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"
>
-
>
gp
_seq = rsp-
>
gp_seq
</text>
</g>
</g>
<g
<g
transform=
"translate(-863.02613,17188.625)"
transform=
"translate(-863.02613,17188.625)"
...
@@ -2554,13 +2556,13 @@
...
@@ -2554,13 +2556,13 @@
id=
"tspan3104-6-5-6-0-92-6"
>
Leaf
</tspan></text>
id=
"tspan3104-6-5-6-0-92-6"
>
Leaf
</tspan></text>
<text
<text
xml:space=
"preserve"
xml:space=
"preserve"
x=
"7
520.1294
"
x=
"7
433.8257
"
y=
"176
73.639
"
y=
"176
82.098
"
font-style=
"normal"
font-style=
"normal"
font-weight=
"bold"
font-weight=
"bold"
font-size=
"192"
font-size=
"192"
id=
"text202-
35
"
id=
"text202-
2
"
style=
"font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"
>
-
>
gp
num = rsp-
>
gpnum
</text>
style=
"font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"
>
-
>
gp
_seq = rsp-
>
gp_seq
</text>
</g>
</g>
<g
<g
transform=
"translate(-7528.5085,17188.625)"
transform=
"translate(-7528.5085,17188.625)"
...
@@ -2601,13 +2603,13 @@
...
@@ -2601,13 +2603,13 @@
id=
"tspan3104-6-5-6-0-1-8"
>
Leaf
</tspan></text>
id=
"tspan3104-6-5-6-0-1-8"
>
Leaf
</tspan></text>
<text
<text
xml:space=
"preserve"
xml:space=
"preserve"
x=
"7
521.4663
"
x=
"7
415.4404
"
y=
"176
66.062
"
y=
"176
82.098
"
font-style=
"normal"
font-style=
"normal"
font-weight=
"bold"
font-weight=
"bold"
font-size=
"192"
font-size=
"192"
id=
"text202-
75-1
"
id=
"text202-
0
"
style=
"font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"
>
-
>
gp
num = rsp-
>
gpnum
</text>
style=
"font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"
>
-
>
gp
_seq = rsp-
>
gp_seq
</text>
</g>
</g>
<path
<path
style=
"fill:none;stroke:#000000;stroke-width:13.29812813px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)"
style=
"fill:none;stroke:#000000;stroke-width:13.29812813px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)"
...
@@ -2641,15 +2643,6 @@
...
@@ -2641,15 +2643,6 @@
id=
"path3414-8-3-6-4"
id=
"path3414-8-3-6-4"
inkscape:connector-curvature=
"0"
inkscape:connector-curvature=
"0"
sodipodi:nodetypes=
"cc"
/>
sodipodi:nodetypes=
"cc"
/>
<text
xml:space=
"preserve"
x=
"6659.5469"
y=
"34833.551"
font-style=
"normal"
font-weight=
"bold"
font-size=
"192"
id=
"text202-62"
style=
"font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"
>
-
>
gpnum = rsp-
>
gpnum
</text>
<path
<path
sodipodi:nodetypes=
"ccc"
sodipodi:nodetypes=
"ccc"
inkscape:connector-curvature=
"0"
inkscape:connector-curvature=
"0"
...
@@ -3844,7 +3837,7 @@
...
@@ -3844,7 +3837,7 @@
font-weight=
"bold"
font-weight=
"bold"
font-size=
"192"
font-size=
"192"
id=
"text202-6-6-5"
id=
"text202-6-6-5"
style=
"font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"
>
rdp-
>
gp
num
</text>
style=
"font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"
>
rdp-
>
gp
_seq
</text>
<text
<text
xml:space=
"preserve"
xml:space=
"preserve"
x=
"5035.4155"
x=
"5035.4155"
...
@@ -4284,15 +4277,6 @@
...
@@ -4284,15 +4277,6 @@
style=
"fill:none;stroke-width:0.025in"
style=
"fill:none;stroke-width:0.025in"
transform=
"translate(1874.038,53203.538)"
transform=
"translate(1874.038,53203.538)"
id=
"g3188-7"
>
id=
"g3188-7"
>
<text
xml:space=
"preserve"
x=
"3199.1516"
y=
"13255.592"
font-style=
"normal"
font-weight=
"bold"
font-size=
"192"
id=
"text202-82"
style=
"font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;font-family:Courier"
>
-
>
completed = -
>
gpnum
</text>
<g
<g
id=
"g3107-53"
id=
"g3107-53"
transform=
"translate(947.90548,11584.029)"
>
transform=
"translate(947.90548,11584.029)"
>
...
@@ -4325,6 +4309,17 @@
...
@@ -4325,6 +4309,17 @@
sodipodi:linespacing=
"125%"
><tspan
sodipodi:linespacing=
"125%"
><tspan
style=
"font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans"
style=
"font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans"
id=
"tspan3104-6-5-19"
>
Root
</tspan></text>
id=
"tspan3104-6-5-19"
>
Root
</tspan></text>
<text
xml:space=
"preserve"
x=
"3175.896"
y=
"13240.11"
font-style=
"normal"
font-weight=
"bold"
font-size=
"192"
id=
"text202-36-3"
style=
"font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"
><tspan
style=
"font-size:172.87567139px"
id=
"tspan3166"
>
rcu_seq_end(
&
rnp-
>
gp_seq)
</tspan></text>
</g>
</g>
<rect
<rect
ry=
"0"
ry=
"0"
...
@@ -4371,13 +4366,15 @@
...
@@ -4371,13 +4366,15 @@
</g>
</g>
<text
<text
xml:space=
"preserve"
xml:space=
"preserve"
x=
"5
324.5371
"
x=
"5
264.4829
"
y=
"1541
4.598
"
y=
"1541
1.231
"
font-style=
"normal"
font-style=
"normal"
font-weight=
"bold"
font-weight=
"bold"
font-size=
"192"
font-size=
"192"
id=
"text202-753"
id=
"text202-36-7"
style=
"font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"
>
-
>
completed = -
>
gpnum
</text>
style=
"font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"
><tspan
style=
"font-size:172.87567139px"
id=
"tspan3166-5"
>
rcu_seq_end(
&
rnp-
>
gp_seq)
</tspan></text>
</g>
</g>
<g
<g
style=
"fill:none;stroke-width:0.025in"
style=
"fill:none;stroke-width:0.025in"
...
@@ -4412,30 +4409,12 @@
...
@@ -4412,30 +4409,12 @@
sodipodi:linespacing=
"125%"
><tspan
sodipodi:linespacing=
"125%"
><tspan
style=
"font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans"
style=
"font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans"
id=
"tspan3104-6-5-6-0-4"
>
Leaf
</tspan></text>
id=
"tspan3104-6-5-6-0-4"
>
Leaf
</tspan></text>
<text
xml:space=
"preserve"
x=
"10084.225"
y=
"70903.312"
font-style=
"normal"
font-weight=
"bold"
font-size=
"192"
id=
"text202-9-0"
style=
"font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"
>
-
>
completed = -
>
gpnum
</text>
<path
<path
sodipodi:nodetypes=
"ccc"
sodipodi:nodetypes=
"ccc"
inkscape:connector-curvature=
"0"
inkscape:connector-curvature=
"0"
id=
"path3134-9-0-3-9"
id=
"path3134-9-0-3-9"
d=
"m 6315.6122,72629.054 -20.9533,8108.684 1648.968,0"
d=
"m 6315.6122,72629.054 -20.9533,8108.684 1648.968,0"
style=
"fill:none;stroke:#969696;stroke-width:53.19251251;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Send)"
/>
style=
"fill:none;stroke:#969696;stroke-width:53.19251251;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Send)"
/>
<text
xml:space=
"preserve"
x=
"5092.4683"
y=
"74111.672"
font-style=
"normal"
font-weight=
"bold"
font-size=
"192"
id=
"text202-60"
style=
"font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"
>
rsp-
>
completed =
</text>
<g
<g
style=
"fill:none;stroke-width:0.025in"
style=
"fill:none;stroke-width:0.025in"
id=
"g3107-62-6"
id=
"g3107-62-6"
...
@@ -4469,15 +4448,6 @@
...
@@ -4469,15 +4448,6 @@
sodipodi:linespacing=
"125%"
><tspan
sodipodi:linespacing=
"125%"
><tspan
style=
"font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans"
style=
"font-size:159.57754517px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Liberation Sans;-inkscape-font-specification:Liberation Sans"
id=
"tspan3104-6-5-7-7"
>
Root
</tspan></text>
id=
"tspan3104-6-5-7-7"
>
Root
</tspan></text>
<text
xml:space=
"preserve"
x=
"5092.4683"
y=
"74325.906"
font-style=
"normal"
font-weight=
"bold"
font-size=
"192"
id=
"text202-60-3"
style=
"font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"
>
rnp-
>
completed
</text>
<g
<g
style=
"fill:none;stroke-width:0.025in"
style=
"fill:none;stroke-width:0.025in"
transform=
"translate(1746.2528,60972.572)"
transform=
"translate(1746.2528,60972.572)"
...
@@ -4736,13 +4706,15 @@
...
@@ -4736,13 +4706,15 @@
</g>
</g>
<text
<text
xml:space=
"preserve"
xml:space=
"preserve"
x=
"5
327.3057
"
x=
"5
274.1216
"
y=
"154
28.84
"
y=
"154
11.231
"
font-style=
"normal"
font-style=
"normal"
font-weight=
"bold"
font-weight=
"bold"
font-size=
"192"
font-size=
"192"
id=
"text202-36"
id=
"text202-36"
style=
"font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"
>
-
>
completed = -
>
gpnum
</text>
style=
"font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"
><tspan
style=
"font-size:172.87567139px"
id=
"tspan3166-6"
>
rcu_seq_end(
&
rnp-
>
gp_seq)
</tspan></text>
</g>
</g>
<g
<g
transform=
"translate(-728.08545,53203.538)"
transform=
"translate(-728.08545,53203.538)"
...
@@ -4821,13 +4793,15 @@
...
@@ -4821,13 +4793,15 @@
id=
"tspan3104-6-5-6-0-92-5"
>
Leaf
</tspan></text>
id=
"tspan3104-6-5-6-0-92-5"
>
Leaf
</tspan></text>
<text
<text
xml:space=
"preserve"
xml:space=
"preserve"
x=
"74
86.490
7"
x=
"74
35.198
7"
y=
"17
670.119
"
y=
"17
708.281
"
font-style=
"normal"
font-style=
"normal"
font-weight=
"bold"
font-weight=
"bold"
font-size=
"192"
font-size=
"192"
id=
"text202-6-2"
id=
"text202-36-9"
style=
"font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"
>
-
>
completed = -
>
gpnum
</text>
style=
"font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"
><tspan
style=
"font-size:172.87567139px"
id=
"tspan3166-1"
>
rcu_seq_end(
&
rnp-
>
gp_seq)
</tspan></text>
</g>
</g>
<g
<g
transform=
"translate(-7393.5687,53203.538)"
transform=
"translate(-7393.5687,53203.538)"
...
@@ -4868,13 +4842,15 @@
...
@@ -4868,13 +4842,15 @@
id=
"tspan3104-6-5-6-0-1-5"
>
Leaf
</tspan></text>
id=
"tspan3104-6-5-6-0-1-5"
>
Leaf
</tspan></text>
<text
<text
xml:space=
"preserve"
xml:space=
"preserve"
x=
"74
74.1382
"
x=
"74
16.8125
"
y=
"17
688.926
"
y=
"17
708.281
"
font-style=
"normal"
font-style=
"normal"
font-weight=
"bold"
font-weight=
"bold"
font-size=
"192"
font-size=
"192"
id=
"text202-5-1"
id=
"text202-36-35"
style=
"font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"
>
-
>
completed = -
>
gpnum
</text>
style=
"font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"
><tspan
style=
"font-size:172.87567139px"
id=
"tspan3166-62"
>
rcu_seq_end(
&
rnp-
>
gp_seq)
</tspan></text>
</g>
</g>
<path
<path
style=
"fill:none;stroke:#000000;stroke-width:13.29812813px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)"
style=
"fill:none;stroke:#000000;stroke-width:13.29812813px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)"
...
@@ -4908,15 +4884,6 @@
...
@@ -4908,15 +4884,6 @@
id=
"path3414-8-3-6-67"
id=
"path3414-8-3-6-67"
inkscape:connector-curvature=
"0"
inkscape:connector-curvature=
"0"
sodipodi:nodetypes=
"cc"
/>
sodipodi:nodetypes=
"cc"
/>
<text
xml:space=
"preserve"
x=
"6742.6001"
y=
"70882.617"
font-style=
"normal"
font-weight=
"bold"
font-size=
"192"
id=
"text202-2"
style=
"font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"
>
-
>
completed = -
>
gpnum
</text>
<g
<g
style=
"fill:none;stroke-width:0.025in"
style=
"fill:none;stroke-width:0.025in"
id=
"g4504-3-9-6"
id=
"g4504-3-9-6"
...
@@ -5131,5 +5098,47 @@
...
@@ -5131,5 +5098,47 @@
font-size=
"192"
font-size=
"192"
id=
"text202-7-9-6-6-7"
id=
"text202-7-9-6-6-7"
style=
"font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"
>
rcu_do_batch()
</text>
style=
"font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"
>
rcu_do_batch()
</text>
<text
xml:space=
"preserve"
x=
"6698.9019"
y=
"70885.211"
font-style=
"normal"
font-weight=
"bold"
font-size=
"192"
id=
"text202-36-2"
style=
"font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"
><tspan
style=
"font-size:172.87567139px"
id=
"tspan3166-7"
>
rcu_seq_end(
&
rnp-
>
gp_seq)
</tspan></text>
<text
xml:space=
"preserve"
x=
"10023.457"
y=
"70885.234"
font-style=
"normal"
font-weight=
"bold"
font-size=
"192"
id=
"text202-36-0"
style=
"font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"
><tspan
style=
"font-size:172.87567139px"
id=
"tspan3166-9"
>
rcu_seq_end(
&
rnp-
>
gp_seq)
</tspan></text>
<text
xml:space=
"preserve"
x=
"5023.3389"
y=
"74209.773"
font-style=
"normal"
font-weight=
"bold"
font-size=
"192"
id=
"text202-36-36"
style=
"font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"
><tspan
style=
"font-size:172.87567139px"
id=
"tspan3166-0"
>
rcu_seq_end(
&
rsp-
>
gp_seq)
</tspan></text>
<text
xml:space=
"preserve"
x=
"6562.5884"
y=
"34870.727"
font-style=
"normal"
font-weight=
"bold"
font-size=
"192"
id=
"text202-3"
style=
"font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"
>
-
>
gp_seq = rsp-
>
gp_seq
</text>
</g>
</g>
</svg>
</svg>
Documentation/RCU/Design/Memory-Ordering/TreeRCU-qs.svg
View file @
869cc745
...
@@ -300,13 +300,13 @@
...
@@ -300,13 +300,13 @@
inkscape:window-height=
"1144"
inkscape:window-height=
"1144"
id=
"namedview208"
id=
"namedview208"
showgrid=
"true"
showgrid=
"true"
inkscape:zoom=
"0.
70710678
"
inkscape:zoom=
"0.
96484375
"
inkscape:cx=
"
616.47598
"
inkscape:cx=
"
507.0191
"
inkscape:cy=
"
595.41964
"
inkscape:cy=
"
885.62207
"
inkscape:window-x=
"
813
"
inkscape:window-x=
"
47
"
inkscape:window-y=
"28"
inkscape:window-y=
"28"
inkscape:window-maximized=
"0"
inkscape:window-maximized=
"0"
inkscape:current-layer=
"g
440
5"
inkscape:current-layer=
"g
311
5"
fit-margin-top=
"5"
fit-margin-top=
"5"
fit-margin-right=
"5"
fit-margin-right=
"5"
fit-margin-left=
"5"
fit-margin-left=
"5"
...
@@ -710,7 +710,7 @@
...
@@ -710,7 +710,7 @@
font-weight=
"bold"
font-weight=
"bold"
font-size=
"192"
font-size=
"192"
id=
"text202-6-6"
id=
"text202-6-6"
style=
"font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"
>
rdp-
>
gp
num
</text>
style=
"font-size:192px;font-style:normal;font-weight:bold;text-anchor:start;fill:#000000;stroke-width:0.025in;font-family:Courier"
>
rdp-
>
gp
_seq
</text>
<text
<text
xml:space=
"preserve"
xml:space=
"preserve"
x=
"5035.4155"
x=
"5035.4155"
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment