On Fri, Sep 22, 2023 at 10:55:44PM +0900, Akira Yokosawa wrote: > Add a few more index markers. > > Note that the macro \IXpl{} and its friends don't work for the > plural form of "dependencies". > > \IXalth{}{}{} is used instead. > > Signed-off-by: Akira Yokosawa <akiyks@xxxxxxxxx> > --- > memorder/memorder.tex | 11 +++++++---- > 1 file changed, 7 insertions(+), 4 deletions(-) > > diff --git a/memorder/memorder.tex b/memorder/memorder.tex > index 9610618b41f4..9af41194f1de 100644 > --- a/memorder/memorder.tex > +++ b/memorder/memorder.tex > @@ -3411,7 +3411,8 @@ In contrast, the penalty for failing to use them when needed can be quite high. > \label{sec:memorder:Address- and Data-Dependency Difficulties} > \OriginallyPublished{sec:memorder:Address- and Data-Dependency Difficulties}{Address- and Data-Dependency Difficulties}{the Linux kernel}{PaulEMcKenney2014rcu-dereference} > > -The low overheads of the address and data dependencies discussed in > +The low overheads of the \IXalth{address}{address}{dependency} This looks strange given the different parameters to the \IXalth above and the \IXalth below, but it gets the right thing to the right place in the index, so I queued and pushed all four. Thank you!!! And yes, I am now generating a set of glossary entries. ;-) Thanx, Paul > +and \IXalth{data dependencies}{data}{dependency} discussed in > \cref{sec:memorder:Address Dependencies,% > sec:memorder:Data Dependencies}, > respectively, makes their use extremely attractive. > @@ -3770,7 +3771,7 @@ compiler-generated assembly code. > \subsection{Control-Dependency Calamities} > \label{sec:memorder:Control-Dependency Calamities} > > -The control dependencies described in > +The \IXalth{control dependencies}{control}{dependency} described in > \cref{sec:memorder:Control Dependencies} > are attractive due to their low overhead, but are also especially > tricky because current compilers do not understand them and can easily > @@ -5403,7 +5404,8 @@ One could place an \co{smp_rmb()} primitive > between the pointer fetch and dereference in order to force Alpha > to order the pointer fetch with the later dependent load. > However, this imposes unneeded overhead on systems (such as \ARM, > -Itanium, PPC, and SPARC) that respect address dependencies on the read side. > +Itanium, PPC, and SPARC) that respect > +\IXalth{address dependencies}{address}{dependency} on the read side. > A \co{smp_read_barrier_depends()} primitive was therefore added to the > Linux kernel to eliminate overhead on these systems, but was removed > in v5.9 of the Linux kernel in favor of augmenting Alpha's definition > @@ -5550,7 +5552,8 @@ similar to that of \Power{}'s cumulativity, both of which are > stronger than \IXacr{lkmm}'s cumulativity described in > \cref{sec:memorder:Cumulativity}. > > -\ARM\ also implements control dependencies, so that if a conditional > +\ARM\ also implements \IXalth{control dependencies}{control}{dependency}, > +so that if a conditional > branch depends on a load, then any store executed after that conditional > branch will be ordered after the load. > However, loads following the conditional branch will \emph{not} > -- > 2.25.1 > >