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 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.