memorder: Update table layout
cover memorder: Update table layout
From acefbb69d69562438d7a7568f671fc85528d5b5f Mon Sep 17 00:00:00 2001
From: Akira Yokosawa <[email protected]>
Date: Mon, 25 Sep 2017 06:38:06 +0900
Subject: [PATCH 0/5] memorder: Update table layout
Hi Paul,
My first thought was to update a few experimental tables to catch up the changes in memorder.tex.
But these new tables are likely to change further.
So I changed my mind and converted the 5 tables in memorder.tex using the new scheme of shading alternate rows. 3 of the 5 tables are already presented in the style guide.
In the memorder chapter, we already converted code snippets to the "listing" environment. So using the new table layout in this chapter sounds reasonable to me.
Patch #1 updates already experimented tables and a similar one. Patch #2 is an attempt to apply new scheme to the remaining table. Patch #3 is an improvement of the table changed in Patch #2. Patch #4 removes experimental tables in style guide. Patch #5 is a separate patch to improve MoreThanOneValue and MoreThanOneValue-15CPU figures.
I'd like to know if the changes in Patches #2 and #3 work with you.
Thanks, Akira
--
Akira Yokosawa (5):
memorder: Convert tables to alternate-row coloring scheme
memorder: Convert 'Summary of Memory Ordering' table to new scheme
styleguide: Remove experimental tables updated in memorder chapter
memorder: Add multi-column headers to 'Summary of Memory Ordering'
table
memorder: Reduce color saturation of MoreThanOneValue figure
appendix/styleguide/styleguide.tex | 113 +--------------------- memorder/MoreThanOneValue-15CPU.fig | 2 + memorder/MoreThanOneValue.fig | 26 ++--- memorder/memorder.tex | 183 ++++++++++++++++-------------------- perfbook.tex | 1 + utilities/MoreThanOneValue-15CPU.c | 3 + 6 files changed, 107 insertions(+), 221 deletions(-)
Signature · 1 line
2.7.4
PATCH 1/5 memorder: Convert tables to alternate-row coloring scheme
From a2de9f65f942f0cce79da28099b616f5e8919489 Mon Sep 17 00:00:00 2001
From: Akira Yokosawa <[email protected]>
Date: Sat, 23 Sep 2017 19:54:51 +0900
Subject: [PATCH 1/5] memorder: Convert tables to alternate-row coloring scheme
Instead of updating them in style guide, apply alternate- row coloring scheme to tables in memorder chapter.
The scheme goes well with the looks of code snippets in "listing" environment with "ruled" style already employed in this chapter. Position of captions is not modified at the moment.
Corresponding tables in style guide will be removed later.
--- appendix/styleguide/styleguide.tex | 1 - memorder/memorder.tex | 130 +++++++++++++++---------------------- perfbook.tex | 1 + 3 files changed, 55 insertions(+), 77 deletions(-)
appendix/styleguide/styleguide.tex +0 -1
@@ -927,7 +927,6 @@ used sparingly, especially in tables of simple structure. \restylefloat{table} \captionsetup[table]{position=top,hangindent=30pt} \renewcommand*{\abovetopsep}{-7pt} -\definecolor{lightgray}{gray}{0.9} For example, Table~\ref{tab:future:Refrigeration Power Consumption}
memorder/memorder.tex +54 -76
240 lines not on this page · raw message
perfbook.tex +1 -0
@@ -93,6 +93,7 @@ \usepackage{bm} % for bold math mode fonts --- should be after math mode font choice \usepackage{booktabs} \usepackage{arydshln} +\definecolor{lightgray}{gray}{0.9} % for coloring alternate rows in table \IfLmttForCode{ \AtBeginEnvironment{verbatim}{\renewcommand{\ttdefault}{lmtt}}
Signature · 1 line
2.7.4
PATCH 2/5 memorder: Convert 'Summary of Memory Ordering' table to new scheme
In reply to Akira YokosawaFrom 3834226426b8a0f5f6b032b1167e02fbe7ef7b15 Mon Sep 17 00:00:00 2001
From: Akira Yokosawa <[email protected]>
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.
--- memorder/memorder.tex | 47 ++++++++++++++++++++++++----------------------- 1 file changed, 24 insertions(+), 23 deletions(-)
memorder/memorder.tex +24 -23
@@ -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*}
Signature · 1 line
2.7.4
PATCH 3/5 styleguide: Remove experimental tables updated in memorder chapter
In reply to Akira YokosawaFrom 3e7f4562704eac72d3652613ea25aee2e00f176d Mon Sep 17 00:00:00 2001
From: Akira Yokosawa <[email protected]>
Date: Sat, 23 Sep 2017 20:42:16 +0900
Subject: [PATCH 3/5] styleguide: Remove experimental tables updated in memorder chapter
--- appendix/styleguide/styleguide.tex | 112 ++----------------------------------- 1 file changed, 4 insertions(+), 108 deletions(-)
appendix/styleguide/styleguide.tex +4 -108
@@ -1383,114 +1383,10 @@ IBM~Q & $0.015$ \label{tab:app:styleguide:Refrigeration Power Consumption (arydshln-2)} \end{table} -Tables~\ref{tab:memorder:Linux-Kernel Memory-Ordering Cheat Sheet} -and~\ref{tab:memorder:Memory Ordering: WRC Sequence of Events} -recently added in Chapter~\ref{chp:memorder:Memory Ordering} -can be typeset as -Tables~\ref{tab:app:styleguide:Linux-Kernel Memory-Ordering Cheat Sheet} -and~\ref{tab:app:styleguide:Memory Ordering: WRC Sequence of Events} -using booktabs' ruled lines. - -\begin{table*} -\small -\centering\OneColumnHSpace{-0.7in} -\renewcommand*{\arraystretch}{1.1} -\rowcolors{7}{lightgray}{} -\begin{tabular}{lcccccccccccc}\toprule - & & \multicolumn{4}{c}{Prior Ordered Operation} & - \multicolumn{6}{c}{Subsequent Ordered Operation} \\ - \cmidrule(l){3-6} \cmidrule(l){7-13} - Operation Providing Ordering & C & - Self & R & W & RMW & Self & R & W & DR & DW & RMW & SV\\ - \cmidrule(r){1-1} \cmidrule{2-2} \cmidrule(l){3-6} \cmidrule(l){7-13} - Write, for example, \tco{WRITE_ONCE()} & & - Y & & & & & & & & & & Y \\ - Load, for example, \tco{READ_ONCE()} & & - Y & & & & & & & & Y & & Y \\ - Unsuccessful RMW operation & & - Y & & & & & & & & Y & & Y \\ - \tco{smp_read_barrier_depends()} & & - & Y & & & & & & Y & Y & & \\ - \tco{*_dereference()} & & - Y & & & & & & & Y & Y & & Y \\ - Successful \tco{*_acquire()} & & - R & & & & & Y & Y & Y & Y & Y & Y \\ - Successful \tco{*_release()} & C & - & Y & Y & Y & W & & & & & & Y \\ - \tco{smp_rmb()} & & - & Y & & R & & Y & & Y & & R & \\ - \tco{smp_wmb()} & & - & & Y & W & & & Y & & Y & W & \\ - \tco{smp_mb()} & CP & - & Y & Y & Y & & Y & Y & Y & Y & Y & \\ - Successful full-strength non-\tco{void} RMW & CP & - Y & Y & Y & Y & Y & Y & Y & Y & Y & Y & Y \\ - \tco{smp_mb__before_atomic()} & CP & - & Y & Y & Y & & a & a & a & a & Y & \\ - \tco{smp_mb__after_atomic()} & CP & - & a & a & Y & & Y & Y & Y & Y & & \\ - \bottomrule -\end{tabular} - -\vspace{5pt}\hfill -\framebox[\width]{\footnotesize\setlength{\tabcolsep}{3pt} -\rowcolors{1}{}{} -\begin{tabular}{lrl} - Key: & C: & Ordering is cumulative \\ - & P: & Ordering propagates \\ - & R: & Read, for example, \tco{READ_ONCE()}, or read portion of RMW \\ - & W: & Write, for example, \tco{WRITE_ONCE()}, or write portion of RMW \\ - & Y: & Provides the specified ordering \\ - & a: & Provides specified ordering given intervening RMW atomic operation \\ - & DR: & Dependent read (address dependency, Section~\ref{sec:memorder:Address Dependencies}) \\ - & DW: & Dependent write (address, data, or control dependency, Sections~\ref{sec:memorder:Address Dependencies}--\ref{sec:memorder:Control Dependencies}) \\ - & RMW: & Atomic read-modify-write operation \\ - & SV: & Same-variable access \\ -\end{tabular} -}\OneColumnHSpace{-0.9in} -\caption{Linux-Kernel Memory-Ordering Cheat Sheet} -\label{tab:app:styleguide:Linux-Kernel Memory-Ordering Cheat Sheet} -\end{table*} - -\begin{table*} -\small -\centering\OneColumnHSpace{-0.8in} -\renewcommand*{\arraystretch}{1.1} -\rowcolors{13}{lightgray}{} -\begin{tabular}{rlllllll}\toprule - & \multicolumn{1}{c}{\tco{P0()}} & \multicolumn{2}{c}{\tco{P0()} \& \tco{P1()}} & - \multicolumn{1}{c}{\tco{P1()}} & \multicolumn{3}{c}{\tco{P2()}} \\ - \cmidrule(l){2-2} \cmidrule(l){3-4} \cmidrule(lr){5-5} \cmidrule(l){6-8} - & Instruction & Store Buffer & Cache & Instruction & - Instruction & Store Buffer & Cache \\ - \cmidrule{1-1} \cmidrule(l){2-2} \cmidrule(l){3-3} \cmidrule(l){4-4} - \cmidrule(lr){5-5} \cmidrule(l){6-6} \cmidrule(l){7-7} \cmidrule(l){8-8} - 1 & (Initial state) & & \tco{y==0} & - (Initial state) & - (Initial state) & & \tco{x==0} \\ - 2 & \tco{x = 1;} & \tco{x==1} & \tco{y==0} & - & & & \tco{x==0} \\ - 3 & (Read-Invalidate \tco{x}) & \tco{x==1} & \tco{y==0} & \tco{r1 = x} (1) - & & & \tco{x==0} \\ - 4 & & \tco{x==1} \tco{y==1} & \tco{y==0} & \tco{y = r1} - & \tco{r2 = y} & & \tco{x==0} \\ - 5 & & \tco{x==1} & \tco{y==1} & (Finish store) - & (Read \tco{y}) & & \tco{x==0} \\ - 6 & (Respond \tco{y}) & \tco{x==1} & \tco{y==1} & - & (\tco{r2==1}) & & \tco{x==0} \tco{y==1} \\ - 7 & & \tco{x==1} & \tco{y==1} & - & \tco{smp_rmb()} & & \tco{x==0} \tco{y==1} \\ - 8 & & \tco{x==1} & \tco{y==1} & - & \tco{r3 = x (0)} & & \tco{x==0} \tco{y==1} \\ - 9 & & \tco{x==1} & \tco{x==0} \tco{y==1} & - & (Respond \tco{x}) & & \tco{y==1} \\ - 10 & (Finish store) & & \tco{x==1} \tco{y==1} & - & & & \tco{y==1} \\ - \bottomrule -\end{tabular} -\caption{Memory Ordering: WRC Sequence of Events} -\label{tab:app:styleguide:Memory Ordering: WRC Sequence of Events} -\end{table*} +Tables in Chapter~\ref{chp:memorder:Memory Ordering} +have been recently converted to the scheme presented in this section. +Refer to \path{memorder/memorder.tex} +for examples of tables with complex headings. \floatstyle{plain} \restylefloat{table}
Signature · 1 line
2.7.4
PATCH 4/5 memorder: Add multi-column headers to 'Summary of Memory Ordering' table
In reply to Akira YokosawaFrom 6aa821a7b0717c2944aa67b53086b7da09abee55 Mon Sep 17 00:00:00 2001
From: Akira Yokosawa <[email protected]>
Date: Sun, 24 Sep 2017 00:43:51 +0900
Subject: [PATCH 4/5] memorder: Add multi-column headers to 'Summary of Memory Ordering' table
Also tweak the cell of "Atomic Instructions Reordered With Loads or Stores?" for it to be vertically positioned at the center of the row. The width of the column is now specified by the width of the parbox.
--- memorder/memorder.tex | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-)
memorder/memorder.tex +5 -3
@@ -3680,9 +3680,11 @@ dependencies. \small \centering \renewcommand*{\arraystretch}{1.2}\OneColumnHSpace{-.6in} -\begin{tabular}{lp{2in}ccccccccccc} +\begin{tabular}{llccccccccccc} \toprule - \multicolumn{2}{l}{~} + \multicolumn{2}{l}{~} & \multicolumn{11}{c}{CPU Family} \\ + \cmidrule{3-13} + \multicolumn{2}{c}{\raisebox{.5ex}{Property}} & \begin{picture}(6,60)(0,0) \rotatebox{90}{Alpha} \end{picture}
@@ -3728,7 +3730,7 @@ dependencies. \cellcolor{white} & Stores Reordered After Loads? & Y & Y & Y & Y & Y & Y & ~ & Y & Y & Y & Y \\ - & Atomic Instructions Reordered With Loads or Stores? + & \parbox[c][6ex]{2in}{\raggedright Atomic Instructions Reordered With\par Loads or Stores?} & Y & Y & Y & ~ & Y & ~ & ~ & Y & ~ & ~ & ~ \\ \cellcolor{white} & Dependent Loads Reordered?
Signature · 1 line
2.7.4
PATCH 5/5 memorder: Reduce color saturation of MoreThanOneValue figure
In reply to Akira YokosawaFrom acefbb69d69562438d7a7568f671fc85528d5b5f Mon Sep 17 00:00:00 2001
From: Akira Yokosawa <[email protected]>
Date: Sun, 24 Sep 2017 23:47:34 +0900
Subject: [PATCH 5/5] memorder: Reduce color saturation of MoreThanOneValue figure
Also add a label at t == 0 and separate unit (ns) from numbers in x-axis labels.
Also add unit of (tick) to x axis of MoreThanOneValue-15CPU figure.
--- memorder/MoreThanOneValue-15CPU.fig | 2 ++ memorder/MoreThanOneValue.fig | 26 +++++++++++++++----------- memorder/memorder.tex | 2 +- utilities/MoreThanOneValue-15CPU.c | 3 +++ 4 files changed, 21 insertions(+), 12 deletions(-)
memorder/MoreThanOneValue-15CPU.fig +2 -0
@@ -310,6 +310,7 @@ Single 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 8200 4200 8200 4300 4 1 0 50 0 16 9 0.0000 4 90 375 8200 4450 500\001 +4 1 0 50 0 16 9 0.0000 4 90 375 8800 4450 (tick)\001 4 2 0 50 0 16 8.5 0.0000 4 105 420 670 200 CPU 1\001 4 2 0 50 0 16 8.5 0.0000 4 105 420 670 470 CPU 2\001 4 2 0 50 0 16 8.5 0.0000 4 105 420 670 740 CPU 3\001
@@ -465,6 +466,7 @@ Single 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 7450 9060 7450 9160 4 1 0 50 0 16 9 0.0000 4 90 375 7450 9310 45\001 +4 1 0 50 0 16 9 0.0000 4 90 375 8050 9310 (tick)\001 4 2 0 50 0 16 8.5 0.0000 4 105 420 670 5060 CPU 1\001 4 2 0 50 0 16 8.5 0.0000 4 105 420 670 5330 CPU 2\001 4 2 0 50 0 16 8.5 0.0000 4 105 420 670 5600 CPU 3\001
memorder/MoreThanOneValue.fig +15 -11
@@ -8,13 +8,13 @@ Single -2 1200 2 6 525 0 5055 1575 -2 2 0 1 0 4 50 0 20 0.000 0 0 -1 0 0 5 +2 2 0 1 0 4 50 0 30 0.000 0 0 -1 0 0 5 765 0 2970 0 2970 270 765 270 765 0 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 585 270 5040 270 5040 540 585 540 585 270 -2 2 0 1 0 2 50 0 20 0.000 0 0 -1 0 0 5 +2 2 0 1 0 2 50 0 30 0.000 0 0 -1 0 0 5 675 810 540 810 540 540 675 540 675 810 -2 2 0 1 0 11 50 0 20 0.000 0 0 -1 0 0 5 +2 2 0 1 0 11 50 0 30 0.000 0 0 -1 0 0 5 720 810 4770 810 4770 1080 720 1080 720 810 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 5040 810 675 810 675 540 5040 540 5040 810
@@ -22,11 +22,11 @@ Single 5040 1080 4770 1080 4770 810 5040 810 5040 1080 2 2 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 5 5040 0 2970 0 2970 270 5040 270 5040 0 -2 2 0 1 0 0 50 0 20 0.000 0 0 -1 0 0 5 +2 2 0 1 0 0 50 0 10 0.000 0 0 -1 0 0 5 720 1080 540 1080 540 810 720 810 720 1080 -2 2 0 1 0 0 50 0 20 0.000 0 0 -1 0 0 5 +2 2 0 1 0 0 50 0 10 0.000 0 0 -1 0 0 5 585 540 540 540 540 270 585 270 585 540 -2 2 0 1 0 0 50 0 20 0.000 0 0 -1 0 0 5 +2 2 0 1 0 0 50 0 10 0.000 0 0 -1 0 0 5 765 270 540 270 540 0 765 0 765 270 2 1 0 2 0 7 50 0 -1 0.000 0 0 -1 1 0 2 1 1 1.00 60.00 120.00
@@ -43,17 +43,21 @@ Single 2250 1305 2250 1440 2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 1395 1305 1395 1440 +2 1 0 1 0 7 50 0 -1 0.000 0 0 -1 0 0 2 + 540 1305 540 1440 4 1 0 50 0 18 9 0.0000 4 90 75 1890 180 1\001 4 1 0 50 0 18 9 0.0000 4 90 75 2835 450 2\001 4 1 0 50 0 18 9 0.0000 4 90 75 2745 990 4\001 4 1 0 50 0 18 9 0.0000 4 90 75 4005 180 2\001 4 1 0 50 0 18 9 0.0000 4 90 75 2880 720 2\001 4 1 0 50 0 18 9 0.0000 4 90 75 4905 990 2\001 -4 1 0 50 0 16 9 0.0000 4 90 375 1395 1575 100ns\001 -4 1 0 50 0 16 9 0.0000 4 90 375 2250 1575 200ns\001 -4 1 0 50 0 16 9 0.0000 4 90 375 3060 1575 300ns\001 -4 1 0 50 0 16 9 0.0000 4 90 375 3915 1575 400ns\001 -4 1 0 50 0 16 9 0.0000 4 90 375 4770 1575 500ns\001 +4 1 0 50 0 16 9 0.0000 4 90 375 540 1575 0\001 +4 1 0 50 0 16 9 0.0000 4 90 375 1395 1575 100\001 +4 1 0 50 0 16 9 0.0000 4 90 375 2250 1575 200\001 +4 1 0 50 0 16 9 0.0000 4 90 375 3060 1575 300\001 +4 1 0 50 0 16 9 0.0000 4 90 375 3915 1575 400\001 +4 1 0 50 0 16 9 0.0000 4 90 375 4770 1575 500\001 +4 1 0 50 0 16 9 0.0000 4 90 375 5100 1575 (ns)\001 4 1 0 50 0 18 9 0.0000 4 90 75 604 720 3\001 -6 4 0 0 50 0 16 9 0.0000 4 105 420 0 450 CPU 2\001
memorder/memorder.tex +1 -1
@@ -841,7 +841,7 @@ to allow observations of intermediate cache states. \end{figure} Each horizontal bar represents the observations of a given CPU over time, -with the black regions to the left indicating the time before the +with the gray regions to the left indicating the time before the corresponding CPU's first measurement. During the first 5\,ns, only CPU~3 has an opinion about the value of the variable.
utilities/MoreThanOneValue-15CPU.c +3 -0
@@ -146,6 +146,9 @@ int draw_diagram(int n, int m, const struct color_table_s *col_table, int y_offs (ruler_tick * i)/tim_width); i++; }while (ruler_tick * i < fig_width); +printf ("4 1 0 50 0 16 9 0.0000 4 90 375 %d %d %s\\001\n" , + fig_base + ruler_tick * i -150 , bar_height *CPU_NUM +400 + y_offset, +"(tick)" );/* label CPU */ for (i =0 ; i <CPU_NUM ; i++) { printf("4 2 0 50 0 16 8.5 0.0000 4 105 420 %d %d CPU %2d\\001\n",
Signature · 1 line
2.7.4
Quoted 17 lines · Akira Yokosawa
Quoted 1 line
From
acefbb69d69562438d7a7568f671fc85528d5b5fMon Sep 17 00:00:00 2001From: Akira Yokosawa <[email protected]>
Date: Mon, 25 Sep 2017 06:38:06 +0900
Subject: [PATCH 0/5] memorder: Update table layoutHi Paul,
My first thought was to update a few experimental tables to catch up the changes in memorder.tex.
But these new tables are likely to change further.
So I changed my mind and converted the 5 tables in memorder.tex using the new scheme of shading alternate rows. 3 of the 5 tables are already presented in the style guide.
In the memorder chapter, we already converted code snippets to the "listing" environment. So using the new table layout in this chapter sounds reasonable to me.
Quoted 4 lines
Patch #1 updates already experimented tables and a similar one. Patch #2 is an attempt to apply new scheme to the remaining table. Patch #3 is an improvement of the table changed in Patch #2. Patch #4 removes experimental tables in style guide.
The order of #3 and #4 was reversed.
Quoted 4 lines
Patch #5 is a separate patch to improve MoreThanOneValue and MoreThanOneValue-15CPU figures.
I'd like to know if the changes in Patches #2 and #3 work with you.
I mean "changes in Patches #2 and #4".
Quoted 19 lines
Thanks, Akira
--
Akira Yokosawa (5):
memorder: Convert tables to alternate-row coloring scheme
memorder: Convert 'Summary of Memory Ordering' table to new scheme
styleguide: Remove experimental tables updated in memorder chapter
memorder: Add multi-column headers to 'Summary of Memory Ordering'
table
memorder: Reduce color saturation of MoreThanOneValue figureappendix/styleguide/styleguide.tex | 113 +--------------------- memorder/MoreThanOneValue-15CPU.fig | 2 + memorder/MoreThanOneValue.fig | 26 ++--- memorder/memorder.tex | 183 ++++++++++++++++-------------------- perfbook.tex | 1 + utilities/MoreThanOneValue-15CPU.c | 3 + 6 files changed, 107 insertions(+), 221 deletions(-)
Quoted 23 lines · Akira Yokosawa
Quoted 17 lines · Akira Yokosawa
Quoted 1 line
From
acefbb69d69562438d7a7568f671fc85528d5b5fMon Sep 17 00:00:00 2001From: Akira Yokosawa <[email protected]>
Date: Mon, 25 Sep 2017 06:38:06 +0900
Subject: [PATCH 0/5] memorder: Update table layoutHi Paul,
My first thought was to update a few experimental tables to catch up the changes in memorder.tex.
But these new tables are likely to change further.
So I changed my mind and converted the 5 tables in memorder.tex using the new scheme of shading alternate rows. 3 of the 5 tables are already presented in the style guide.
In the memorder chapter, we already converted code snippets to the "listing" environment. So using the new table layout in this chapter sounds reasonable to me.Quoted 4 lines
Patch #1 updates already experimented tables and a similar one. Patch #2 is an attempt to apply new scheme to the remaining table. Patch #3 is an improvement of the table changed in Patch #2. Patch #4 removes experimental tables in style guide.
Quoted 8 lines
The order of #3 and #4 was reversed.
Quoted 4 lines
Patch #5 is a separate patch to improve MoreThanOneValue and MoreThanOneValue-15CPU figures.
I'd like to know if the changes in Patches #2 and #3 work with you.
I mean "changes in Patches #2 and #4".
Got it. They look good, so applied, thank you!
Thanx, Paul
Quoted 19 lines
Quoted 18 lines
Thanks, Akira
--
Akira Yokosawa (5):
memorder: Convert tables to alternate-row coloring scheme
memorder: Convert 'Summary of Memory Ordering' table to new scheme
styleguide: Remove experimental tables updated in memorder chapter
memorder: Add multi-column headers to 'Summary of Memory Ordering'
table
memorder: Reduce color saturation of MoreThanOneValue figureappendix/styleguide/styleguide.tex | 113 +--------------------- memorder/MoreThanOneValue-15CPU.fig | 2 + memorder/MoreThanOneValue.fig | 26 ++--- memorder/memorder.tex | 183 ++++++++++++++++-------------------- perfbook.tex | 1 + utilities/MoreThanOneValue-15CPU.c | 3 + 6 files changed, 107 insertions(+), 221 deletions(-)