On Tue, Apr 02, 2019 at 09:14:57AM +0900, SeongJae Park wrote: > Signed-off-by: SeongJae Park <sj38.park@xxxxxxxxx> Good catch, queued and pushed, thank you! Thanx, Paul > --- > memorder/memorder.tex | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/memorder/memorder.tex b/memorder/memorder.tex > index 1649ce9..bb380ad 100644 > --- a/memorder/memorder.tex > +++ b/memorder/memorder.tex > @@ -3125,7 +3125,7 @@ Sections~\ref{sec:toolsoftrade:A Volatile Solution}-\ref{sec:toolsoftrade:Avoidi > cause the compiler to discard a previously loaded value from > its register, and then reload it later on. > Invented loads can be prevented by using \co{READ_ONCE()} or by > - enforcing ordering as callout out above between the load and a > + enforcing ordering as called out above between the load and a > later use of its value using \co{barrier()}. > \item Stores can be invented before a plain store, for example, by > using the stored-to location as temporary storage. > @@ -3160,7 +3160,7 @@ optimizing your parallel algorithm out of existence. > Compilers are starting to provide other mechanisms for avoiding > load and store tearing, for example, \co{memory_order_relaxed} > atomic loads and stores, however, work is still > -needed~/\cite{JonathanCorbet2016C11atomics} > +needed~\cite{JonathanCorbet2016C11atomics}. > In addition, compiler issues aside, \co{volatile} is still needed > to avoid fusing and invention of accesses, including C11 atomic accesses. > > -- > 2.10.0 >