From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
To: Akira Yokosawa <akiyks@gmail.com>
Cc: perfbook@vger.kernel.org
Subject: Re: [PATCH RESEND] styleguide: Add example of partially colored rows
Date: Tue, 22 Aug 2017 16:49:37 -0700 [thread overview]
Message-ID: <20170822234937.GG11320@linux.vnet.ibm.com> (raw)
In-Reply-To: <be9e9a94-b1c3-55fe-d4a1-f4a706d6ace3@gmail.com>
On Wed, Aug 23, 2017 at 07:15:12AM +0900, Akira Yokosawa wrote:
> >From 2bc37e7fd32155f0496228080eeb34fbe8dac73a Mon Sep 17 00:00:00 2001
> From: Akira Yokosawa <akiyks@gmail.com>
> Date: Wed, 23 Aug 2017 00:01:14 +0900
> Subject: [PATCH RESEND] styleguide: Add example of partially colored rows
>
> Also add explanation of interference of \rowcolors{} commands and
> \cmidrule{} commands in LaTeX source.
>
> Signed-off-by: Akira Yokosawa <akiyks@gmail.com>
Applied and pushed, thank you!
Thanx, Paul
> ---
> appendix/styleguide/styleguide.tex | 137 ++++++++++++++++++++++++++++++++-----
> 1 file changed, 118 insertions(+), 19 deletions(-)
>
> diff --git a/appendix/styleguide/styleguide.tex b/appendix/styleguide/styleguide.tex
> index cfa3234..c0636db 100644
> --- a/appendix/styleguide/styleguide.tex
> +++ b/appendix/styleguide/styleguide.tex
> @@ -1027,12 +1027,12 @@ Two types of memory barrier are denoted by subscripts here.
>
> \vspace{5pt}\hfill
> {\footnotesize
> -\rowcolors{1}{}{lightgray}
> - \begin{tabular}{cp{1.5in}}
> +\rowcolors{1}{}{}
> + \begin{tabular}{lp{1.8in}}
> A & Atomic counting \\
> + C & Check combined with the atomic acquisition operation \\
> M\textsubscript{R} & Memory barriers required only on release \\
> M\textsubscript{A} & Memory barriers required on acquire \\
> - C & Check combined with the atomic acquisition operation \\
> \end{tabular}
> }
> \caption{Reference Counting and Synchronization Mechanisms}
> @@ -1050,7 +1050,18 @@ A ``figure'' environment might be a proper choice here.
> \small
> \centering
> \renewcommand*{\arraystretch}{1.2}
> -\rowcolors{5}{}{lightgray} % 5 is chosen due to disturbance of row count by cmidrule
> +\rowcolors{6}{}{lightgray}
> +% "6" is chosen due to disturbance of row count by cmidrule.
> +% The command definition is:
> +% \rowcolors{<row>}{<odd-row color>}{<even-row color>}
> +% Here, <row> specifies the row count where the coloring start.
> +% In this table, the "Seq = 0" row is the 3rd row, so a "3" would
> +% be a right choice.
> +% However, because of the \cmidrule{} commands used in the heading,
> +% internal row count of the "Seq = 0" row becomes "6".
> +% This is why the 3rd row has the background color of <even-row color>.
> +%
> +% \cline of plain LaTeX also interfares the row count.
> \begin{tabular}{rclcccccc}
> \toprule
> & & & \multicolumn{4}{c}{CPU Cache} & \multicolumn{2}{c}{Memory} \\
> @@ -1078,10 +1089,20 @@ is a tweaked version of
> Table~\ref{tab:defer:RCU Publish-Subscribe and Version Maintenance APIs}.
> Here, the ``Category'' column in the original is removed
> and the categories are indicated in rows of bold-face font
> -just below the mid-rules.
> +just below the mid-rules. This change makes it easier for
> +\verb|\rowcolors{}| command of ``xcolor'' package to work
> +properly.
> +
> +Table~\ref{tab:app:styleguide:RCU Publish-Subscribe and Version Maintenance APIs (colortbl)}
> +is another example which keeps original columns and colors rows only where
> +a category has multiple rows. This is done by combining \verb|\rowcolors{}|
> +of ``xcolor'' and \verb|\cellcolor{}| commands of the ``colortbl''
> +package (\verb|\cellcolor{}| overrides \verb|\rowcolors{}|).
> +
> +For consistent looks, the latter layout might be our choice.
>
> \begin{table*}[tbh]
> -\rowcolors{2}{}{lightgray}
> +\rowcolors{2}{}{blue!15}
> \renewcommand*{\arraystretch}{1.1}
> \footnotesize
> \centering
> @@ -1090,64 +1111,142 @@ just below the mid-rules.
> Primitives &
> Availability &
> Overhead \\
> -\midrule\rowcolor{blue!15}
> - \multicolumn{3}{l}{\bfseries List traversal} \\ \hiderowcolors
> +\midrule
> + \multicolumn{3}{l}{\bfseries List traversal} \\
> \tco{list_for_each_entry_rcu()} &
> 2.5.59 &
> Simple instructions (memory barrier on Alpha) \\
> -\midrule\rowcolor{blue!15}
> - \multicolumn{3}{l}{\bfseries List update} \\ \showrowcolors
> +\midrule
> + \multicolumn{3}{l}{\bfseries List update} \\
> \tco{list_add_rcu()} &
> 2.5.44 &
> Memory barrier \\
> + \rowcolor{lightgray}\tco{list_add_tail_rcu()} &
> + 2.5.44 &
> + Memory barrier \\
> + \tco{list_del_rcu()} &
> + 2.5.44 &
> + Simple instructions \\
> + \rowcolor{lightgray}\tco{list_replace_rcu()} &
> + 2.6.9 &
> + Memory barrier \\
> + \tco{list_splice_init_rcu()} &
> + 2.6.21 &
> + Grace-period latency \\
> +\midrule
> + \multicolumn{3}{l}{\bfseries Hlist traversal} \\
> + \tco{hlist_for_each_entry_rcu()} &
> + 2.6.8 &
> + Simple instructions (memory barrier on Alpha) \\
> +\midrule
> + \multicolumn{3}{l}{\bfseries Hlist update} \\
> + \tco{hlist_add_after_rcu()} &
> + 2.6.14 &
> + Memory barrier \\
> + \rowcolor{lightgray}\tco{hlist_add_before_rcu()} &
> + 2.6.14 &
> + Memory barrier \\
> + \tco{hlist_add_head_rcu()} &
> + 2.5.64 &
> + Memory barrier \\
> + \rowcolor{lightgray}\tco{hlist_del_rcu()} &
> + 2.5.64 &
> + Simple instructions \\
> + \tco{hlist_replace_rcu()} &
> + 2.6.15 &
> + Memory barrier \\
> +\midrule
> + \multicolumn{3}{l}{\bfseries Pointer traversal} \\
> + \tco{rcu_dereference()} &
> + 2.6.9 &
> + Simple instructions (memory barrier on Alpha) \\
> +\midrule
> + \multicolumn{3}{l}{\bfseries Pointer update} \\
> + \tco{rcu_assign_pointer()} &
> + 2.6.10 &
> + Memory barrier \\
> +\bottomrule
> +\end{tabular}
> +\caption{RCU Publish-Subscribe and Version Maintenance APIs}
> +\label{tab:app:styleguide:RCU Publish-Subscribe and Version Maintenance APIs}
> +\end{table*}
> +
> +\begin{table*}[tbhp]
> +\renewcommand*{\arraystretch}{1.2}
> +\rowcolors{3}{lightgray}{}
> +\footnotesize
> +\centering
> +\begin{tabular}{lllp{1.2in}}\toprule
> +Category &
> + Primitives &
> + Availability &
> + Overhead \\
> +\midrule
> +List traversal &
> + \tco{list_for_each_entry_rcu()} &
> + 2.5.59 &
> + Simple instructions (memory barrier on Alpha) \\
> +\midrule
> +\cellcolor{white}List update &
> + \tco{list_add_rcu()} &
> + 2.5.44 &
> + Memory barrier \\
> +&
> \tco{list_add_tail_rcu()} &
> 2.5.44 &
> Memory barrier \\
> +\cellcolor{white} &
> \tco{list_del_rcu()} &
> 2.5.44 &
> Simple instructions \\
> +&
> \tco{list_replace_rcu()} &
> 2.6.9 &
> Memory barrier \\
> +\cellcolor{white} &
> \tco{list_splice_init_rcu()} &
> 2.6.21 &
> Grace-period latency \\
> -\midrule\rowcolor{blue!15}
> - \multicolumn{3}{l}{\bfseries Hlist traversal} \\ \hiderowcolors
> +\midrule
> +Hlist traversal &
> \tco{hlist_for_each_entry_rcu()} &
> 2.6.8 &
> Simple instructions (memory barrier on Alpha) \\
> -\midrule\rowcolor{blue!15}
> - \multicolumn{3}{l}{\bfseries Hlist update} \\ \showrowcolors
> +\midrule
> +\cellcolor{white}Hlist update &
> \tco{hlist_add_after_rcu()} &
> 2.6.14 &
> Memory barrier \\
> +&
> \tco{hlist_add_before_rcu()} &
> 2.6.14 &
> Memory barrier \\
> +\cellcolor{white} &
> \tco{hlist_add_head_rcu()} &
> 2.5.64 &
> Memory barrier \\
> +&
> \tco{hlist_del_rcu()} &
> 2.5.64 &
> Simple instructions \\
> +\cellcolor{white} &
> \tco{hlist_replace_rcu()} &
> 2.6.15 &
> Memory barrier \\
> -\midrule\rowcolor{blue!15}
> - \multicolumn{3}{l}{\bfseries Pointer traversal} \\ \hiderowcolors
> +\midrule\hiderowcolors
> +Pointer traversal &
> \tco{rcu_dereference()} &
> 2.6.9 &
> Simple instructions (memory barrier on Alpha) \\
> -\midrule\rowcolor{blue!15}
> - \multicolumn{3}{l}{\bfseries Pointer update} \\ \hiderowcolors
> +\midrule
> +Pointer update &
> \tco{rcu_assign_pointer()} &
> 2.6.10 &
> Memory barrier \\
> \bottomrule
> \end{tabular}
> \caption{RCU Publish-Subscribe and Version Maintenance APIs}
> -\label{tab:app:styleguide:RCU Publish-Subscribe and Version Maintenance APIs}
> +\label{tab:app:styleguide:RCU Publish-Subscribe and Version Maintenance APIs (colortbl)}
> \end{table*}
>
> Table~\ref{tab:advsync:Memory Misordering: Store-Buffering Sequence of Events}
> --
> 2.7.4
>
>
prev parent reply other threads:[~2017-08-22 23:49 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-08-18 23:29 [PATCH 0/4] Style guide updates (round 2) Akira Yokosawa
2017-08-18 23:31 ` [PATCH 1/4] Use 'fixltx2e' package Akira Yokosawa
2017-08-18 23:32 ` [PATCH 2/4] styleguide: Add more table experiments Akira Yokosawa
2017-08-18 23:33 ` [PATCH 3/4] Get rid of 'tabulary' package Akira Yokosawa
2017-08-18 23:45 ` [PATCH 4/4] styleguide: Add table examples with dashed lines Akira Yokosawa
2017-08-19 0:26 ` [PATCH 0/4] Style guide updates (round 2) Paul E. McKenney
2017-08-19 1:04 ` Akira Yokosawa
2017-08-19 2:32 ` Paul E. McKenney
2017-08-22 15:30 ` Akira Yokosawa
2017-08-22 16:09 ` Paul E. McKenney
2017-08-22 22:15 ` [PATCH RESEND] styleguide: Add example of partially colored rows Akira Yokosawa
2017-08-22 23:49 ` Paul E. McKenney [this message]
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=20170822234937.GG11320@linux.vnet.ibm.com \
--to=paulmck@linux.vnet.ibm.com \
--cc=akiyks@gmail.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox