On Thu, Nov 08, 2018 at 10:21:31AM +0800, Junchang Wang wrote: > Subsection Multicopy Atomicity is ahead of Subsection Hardware Specifics where > implementation detail of multicopy atomicity in mainstream architectures is > presented. So we add (1) a brief description of the use of multicopy atomicity > in representative architectures and (2) a reference to Table Summary of Memory > Ordering, in subsection Multicopy Atomicity. > > The description is borrowed from a nice discussion with Paul, which can be found > at https://www.spinics.net/lists/perfbook/msg01952.html. > > Signed-off-by: Junchang Wang <junchangwang@xxxxxxxxx> Queued and pushed, thank you, Junchang! Thanx, Paul > --- > memorder/memorder.tex | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/memorder/memorder.tex b/memorder/memorder.tex > index fba49b7..69ce196 100644 > --- a/memorder/memorder.tex > +++ b/memorder/memorder.tex > @@ -1901,7 +1901,11 @@ Most CPU vendors interested in providing multicopy atomicity have therefore > instead provided the slightly weaker > \emph{other-multicopy atomicity}~\cite[Section B2.3]{ARMv8A:2017}, > which excludes the CPU doing a given store from the requirement that all > -CPUs agree on the order of all stores. > +CPUs agree on the order of all stores.\footnote{ > + As of late 2018, ARMv8 and x86 provide other-multicopy atomicity, > + IBM mainframe provides fully multicopy atomicity, and PPC does > + not provide multicopy atomicity at all. More detail is shown in > + Figure~\ref{tab:memorder:Summary of Memory Ordering}.} > This means that if only a subset of CPUs are doing stores, the > other CPUs will agree on the order of stores, hence the ``other'' > in ``other-multicopy atomicity''. > -- > 2.7.4 >