summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAkira Yokosawa <akiyks@gmail.com>2023-09-22 22:54:18 +0900
committerPaul E. McKenney <paulmck@kernel.org>2023-09-23 01:11:21 -0700
commit425148ef220e81be505c29f9f96eea127c9c9e9e (patch)
tree04368a0cd117e42cda3670d26c87df95d429f8f9
parent1bb7254318e196c808d3620c230707d989eb536e (diff)
downloadperfbook-425148ef220e81be505c29f9f96eea127c9c9e9e.tar.gz
memorder: Add index markers for 'address/control/data dependency', take 1
Add index markers of bold face for "address dependency", "control dependency", and "data dependency" at their corresponding sections in memorder. (hierarchical form) - Dependency address control data with additional "see xxxx" entries as follows: - Address dependency, see Dependency, address - Control dependency, see Dependency, control - Data dependency, see Dependency, data (flat form) - Address dependency - Control dependency - Data dependency Signed-off-by: Akira Yokosawa <akiyks@gmail.com> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
-rw-r--r--indexsee.tex3
-rw-r--r--memorder/memorder.tex6
2 files changed, 6 insertions, 3 deletions
diff --git a/indexsee.tex b/indexsee.tex
index bd82fa1d..a77e9d64 100644
--- a/indexsee.tex
+++ b/indexsee.tex
@@ -1,3 +1,4 @@
+\index{Address dependency|see{Dependency, address}}
\index{Anti-Heisenbug|see{Heisenbug, anti-}}
\index{Associativity|see{Cache associativity}}
\index{Associativity miss|see{Cache miss, associativity}}
@@ -8,6 +9,8 @@
\index{Capacity miss|see{Cache miss, capacity}}
\index{Code locking|see{Locking, code}}
\index{Communication miss|see{Cache miss, communication}}
+\index{Control dependency|see{Dependency, control}}
+\index{Data dependency|see{Dependency, data}}
\index{Data locking|see{Locking, data}}
\index{Direct-mapped cache|see{Cache, direct-mapped}}
\index{Exclusive lock|see{Lock, exclusive}}
diff --git a/memorder/memorder.tex b/memorder/memorder.tex
index 86bb8f41..9610618b 100644
--- a/memorder/memorder.tex
+++ b/memorder/memorder.tex
@@ -1815,7 +1815,7 @@ thus preventing the \co{exists} clause from triggering.
\subsection{Address Dependencies}
\label{sec:memorder:Address Dependencies}
-An \emph{address dependency} occurs when the value returned by a load
+An \emph{\IXBh{address}{dependency}} occurs when the value returned by a load
instruction is used to compute the address used by a later memory-reference
instruction.
This means that the exact same sequence of instructions used to traverse
@@ -2028,7 +2028,7 @@ be fragile and easily broken by compiler optimizations, as discussed in
\subsection{Data Dependencies}
\label{sec:memorder:Data Dependencies}
-A \emph{data dependency} occurs when the value returned by a load
+A \emph{\IXBh{data}{dependency}} occurs when the value returned by a load
instruction is used to compute the data stored by a later store
instruction.
Note well the ``data'' above:
@@ -2104,7 +2104,7 @@ compiler from breaking them.
\subsection{Control Dependencies}
\label{sec:memorder:Control Dependencies}
-A \emph{control dependency} occurs when the value returned by a load
+A \emph{\IXBh{control}{dependency}} occurs when the value returned by a load
instruction is tested to determine whether or not a later store instruction
is executed.
In other words, a simple conditional branch or conditional-move