From: Akira Yokosawa <akiyks@gmail.com>
To: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
Cc: perfbook@vger.kernel.org, Akira Yokosawa <akiyks@gmail.com>
Subject: [PATCH 2/5] memorder: Convert 'Summary of Memory Ordering' table to new scheme
Date: Mon, 25 Sep 2017 07:03:20 +0900 [thread overview]
Message-ID: <b9ede7b2-e505-b7b0-2f91-d0065de07014@gmail.com> (raw)
In-Reply-To: <3c66b20a-8a88-b033-e7ff-c80a6c503a36@gmail.com>
From 3834226426b8a0f5f6b032b1167e02fbe7ef7b15 Mon Sep 17 00:00:00 2001
From: Akira Yokosawa <akiyks@gmail.com>
Date: Sat, 23 Sep 2017 20:14:03 +0900
Subject: [PATCH 2/5] memorder: Convert 'Summary of Memory Ordering' table to new scheme
Employ alternate-row coloring scheme to the remaining table in this
chapter.
Signed-off-by: Akira Yokosawa <akiyks@gmail.com>
---
memorder/memorder.tex | 47 ++++++++++++++++++++++++-----------------------
1 file changed, 24 insertions(+), 23 deletions(-)
diff --git a/memorder/memorder.tex b/memorder/memorder.tex
index f393e33..00ff31c 100644
--- a/memorder/memorder.tex
+++ b/memorder/memorder.tex
@@ -3675,12 +3675,14 @@ dependencies.
\label{sec:memorder:Hardware Specifics}
\OriginallyPublished{Appendix}{sec:memorder:Hardware Specifics}{Memory-Barrier Instructions For Specific CPUs}{Linux Journal}{PaulMcKenney2005i,PaulMcKenney2005j}
-\begin{table*}
+\begin{table*}[tbh]
+\rowcolors{4}{}{lightgray}
\small
\centering
\renewcommand*{\arraystretch}{1.2}\OneColumnHSpace{-.6in}
-\begin{tabular}{l|p{2in}|c|c|c|c|c|c|c|c|c|c|c}
- \multicolumn{2}{l|}{~}
+\begin{tabular}{lp{2in}ccccccccccc}
+ \toprule
+ \multicolumn{2}{l}{~}
& \begin{picture}(6,60)(0,0)
\rotatebox{90}{Alpha}
\end{picture}
@@ -3715,56 +3717,54 @@ dependencies.
\rotatebox{90}{z~Systems}
\end{picture}
\\
- \hline
+ \cmidrule(r){1-2} \cmidrule{3-13}
% Alpha ARMv8 ARMv7 Itanium MIPS PA-RISC -CPUs PPC SPARC x86 z Systems
- \hline
- Memory Ordering
+\cellcolor{white}
+ Memory Ordering
& Loads Reordered After Loads or Stores?
& Y & Y & Y & Y & Y & Y & ~ & Y & ~ & ~ & ~ \\
- \cline{2-13}
& Stores Reordered After Stores?
& Y & Y & Y & Y & Y & Y & ~ & Y & ~ & ~ & ~ \\
- \cline{2-13}
+\cellcolor{white}
& Stores Reordered After Loads?
& Y & Y & Y & Y & Y & Y & ~ & Y & Y & Y & Y \\
- \cline{2-13}
& Atomic Instructions Reordered With Loads or Stores?
& Y & Y & Y & ~ & Y & ~ & ~ & Y & ~ & ~ & ~ \\
- \cline{2-13}
+\cellcolor{white}
& Dependent Loads Reordered?
& Y & ~ & ~ & ~ & ~ & ~ & ~ & ~ & ~ & ~ & ~ \\
- \cline{2-13}
& Dependent Stores Reordered?
& ~ & ~ & ~ & ~ & ~ & ~ & ~ & ~ & ~ & ~ & ~ \\
- \cline{2-13}
+\cellcolor{white}
& Non-Sequentially Consistent?
& Y & Y & Y & Y & Y & Y & ~ & Y & Y & Y & Y \\
- \cline{2-13}
& Non-Multicopy Atomic?
& Y & Y & Y & Y & Y & Y & ~ & Y & Y & Y & ~ \\
- \cline{2-13}
+\cellcolor{white}
& Non-Other-Multicopy Atomic?
& Y & ~ & Y & Y & Y & Y & ~ & Y & Y & Y & ~ \\
- \cline{2-13}
& Non-Cache Coherent?
& ~ & ~ & ~ & Y & ~ & ~ & ~ & ~ & ~ & ~ & ~ \\
- \hline
- \hline
- Instructions
+ \cmidrule(r){1-2} \cmidrule{3-13}
+\cellcolor{white}
+ Instructions
& Load-Acquire/Store-Release?
& F & i & F & I & ? & ? & ~ & b & ~ & ~ & ~ \\
- \cline{2-13}
& Atomic RMW Instruction Type?
& L & L & L & C & L & ? & ? & L & ? & C & C \\
- \cline{2-13}
+\cellcolor{white}
& Incoherent Instruction Cache/Pipeline?
& Y & Y & Y & Y & Y & ~ & ~ & Y & Y & Y & Y \\
+ \bottomrule
\end{tabular}
+
+\vspace{5pt}\hfill
+\framebox[\width]{\footnotesize\setlength{\tabcolsep}{3pt}
+\rowcolors{1}{}{}
\renewcommand*{\arraystretch}{1}
\begin{tabular}{llcl}
- ~ & ~ & ~ & ~\\
- { \bf Key: } & ~ & ~ & ~ \\
- ~ & \multicolumn{3}{l}{Load-Acquire/Store-Release?} \\
+ { \bf Key: }
+ & \multicolumn{3}{l}{Load-Acquire/Store-Release?} \\
~ & ~ & b: & Lightweight memory barrier \\
~ & ~ & F: & Full memory barrier \\
~ & ~ & i: & Instruction with lightweight ordering \\
@@ -3773,6 +3773,7 @@ dependencies.
~ & ~ & C: & Compare-and-exchange instruction \\
~ & ~ & L: & Load-linked/store-conditional instruction \\
\end{tabular}
+}\OneColumnHSpace{-0.7in}
\caption{Summary of Memory Ordering}
\label{tab:memorder:Summary of Memory Ordering}
\end{table*}
--
2.7.4
next prev parent reply other threads:[~2017-09-24 22:03 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-09-24 22:00 [PATCH 0/5] memorder: Update table layout Akira Yokosawa
2017-09-24 22:02 ` [PATCH 1/5] memorder: Convert tables to alternate-row coloring scheme Akira Yokosawa
2017-09-24 22:03 ` Akira Yokosawa [this message]
2017-09-24 22:04 ` [PATCH 3/5] styleguide: Remove experimental tables updated in memorder chapter Akira Yokosawa
2017-09-24 22:06 ` [PATCH 4/5] memorder: Add multi-column headers to 'Summary of Memory Ordering' table Akira Yokosawa
2017-09-24 22:07 ` [PATCH 5/5] memorder: Reduce color saturation of MoreThanOneValue figure Akira Yokosawa
2017-09-24 22:10 ` [PATCH 0/5] memorder: Update table layout Akira Yokosawa
2017-09-25 0:13 ` Paul E. McKenney
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=b9ede7b2-e505-b7b0-2f91-d0065de07014@gmail.com \
--to=akiyks@gmail.com \
--cc=paulmck@linux.vnet.ibm.com \
--cc=perfbook@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.