From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
To: Akira Yokosawa <akiyks@gmail.com>
Cc: perfbook@vger.kernel.org
Subject: Re: [RFC PATCH] toyrcu: Enclose 'verbbox' within 'figure'
Date: Mon, 12 Sep 2016 07:49:11 -0700 [thread overview]
Message-ID: <20160912144911.GF3851@linux.vnet.ibm.com> (raw)
In-Reply-To: <0e40a631-1b13-865a-412b-3e50b532308f@gmail.com>
On Sun, Sep 11, 2016 at 11:49:13AM +0900, Akira Yokosawa wrote:
> >From 1cbac7a606ed336367529414512d84005f92bf1f Mon Sep 17 00:00:00 2001
> From: Akira Yokosawa <akiyks@gmail.com>
> Date: Sun, 11 Sep 2016 11:33:33 +0900
> Subject: [RFC PATCH] toyrcu: Enclose 'verbbox' within 'figure'
>
> Bare "verbbox" environment just after a section heading causes
> the "afterheading"-ness of the first paragraph.
> By enclosing the "verbbox" by a "figure" environment, we can
> avoid the side-effect.
>
> This commit does the enclosing by moving \begin{figure} ahead of
> \begin{verbbox}.
>
> Signed-off-by: Akira Yokosawa <akiyks@gmail.com>
Much better! Applied, thank you!
Thanx, Paul
> ---
> defer/toyrcu.tex | 40 ++++++++++++++++++++--------------------
> 1 file changed, 20 insertions(+), 20 deletions(-)
>
> diff --git a/defer/toyrcu.tex b/defer/toyrcu.tex
> index cd334ed..3b5a85c 100644
> --- a/defer/toyrcu.tex
> +++ b/defer/toyrcu.tex
> @@ -33,6 +33,7 @@ provides a summary and a list of desirable RCU properties.
> \subsubsection{Lock-Based RCU}
> \label{defer:Lock-Based RCU}
>
> +\begin{figure}[bp]
> { \scriptsize
> \begin{verbbox}
> 1 static void rcu_read_lock(void)
> @@ -52,7 +53,6 @@ provides a summary and a list of desirable RCU properties.
> 15 }
> \end{verbbox}
> }
> -\begin{figure}[bp]
> \centering
> \theverbbox
> \caption{Lock-Based RCU Implementation}
> @@ -92,6 +92,7 @@ preventing grace-period sharing.
> also be a deadlock in any other RCU implementation?
> \QuickQuizAnswer{
> %
> +\begin{figure}[tbp]
> { \scriptsize
> \begin{verbbox}
> 1 void foo(void)
> @@ -115,7 +116,6 @@ preventing grace-period sharing.
> 19 }
> \end{verbbox}
> }
> -\begin{figure}[tbp]
> \centering
> \theverbbox
> \caption{Deadlock in Lock-Based RCU Implementation}
> @@ -171,6 +171,7 @@ in the next section.
> \subsubsection{Per-Thread Lock-Based RCU}
> \label{defer:Per-Thread Lock-Based RCU}
>
> +\begin{figure}[tbp]
> { \scriptsize
> \begin{verbbox}
> 1 static void rcu_read_lock(void)
> @@ -194,7 +195,6 @@ in the next section.
> 19 }
> \end{verbbox}
> }
> -\begin{figure}[tbp]
> \centering
> \theverbbox
> \caption{Per-Thread Lock-Based RCU Implementation}
> @@ -291,6 +291,7 @@ the shortcomings of the lock-based implementation.
> \subsubsection{Simple Counter-Based RCU}
> \label{defer:Simple Counter-Based RCU}
>
> +\begin{figure}[tbp]
> { \scriptsize
> \begin{verbbox}
> 1 atomic_t rcu_refcnt;
> @@ -317,7 +318,6 @@ the shortcomings of the lock-based implementation.
> 22 }
> \end{verbbox}
> }
> -\begin{figure}[tbp]
> \centering
> \theverbbox
> \caption{RCU Implementation Using Single Global Reference Counter}
> @@ -437,6 +437,7 @@ scheme that is more favorable to writers.
> \subsubsection{Starvation-Free Counter-Based RCU}
> \label{defer:Starvation-Free Counter-Based RCU}
>
> +\begin{figure}[tbp]
> { \scriptsize
> \begin{verbbox}
> 1 DEFINE_SPINLOCK(rcu_gp_lock);
> @@ -446,13 +447,13 @@ scheme that is more favorable to writers.
> 5 DEFINE_PER_THREAD(int, rcu_read_idx);
> \end{verbbox}
> }
> -\begin{figure}[tbp]
> \centering
> \theverbbox
> \caption{RCU Global Reference-Count Pair Data}
> \label{fig:defer:RCU Global Reference-Count Pair Data}
> \end{figure}
>
> +\begin{figure}[tbp]
> { \scriptsize
> \begin{verbbox}
> 1 static void rcu_read_lock(void)
> @@ -485,7 +486,6 @@ scheme that is more favorable to writers.
> 28 }
> \end{verbbox}
> }
> -\begin{figure}[tbp]
> \centering
> \theverbbox
> \caption{RCU Read-Side Using Global Reference-Count Pair}
> @@ -579,6 +579,7 @@ the selected element of \co{rcu_refcnt}.
> Regardless of the nesting level, line~27 decrements this thread's
> instance of \co{rcu_nesting}.
>
> +\begin{figure}[tbp]
> { \scriptsize
> \begin{verbbox}
> 1 void synchronize_rcu(void)
> @@ -604,7 +605,6 @@ instance of \co{rcu_nesting}.
> 21 }
> \end{verbbox}
> }
> -\begin{figure}[tbp]
> \centering
> \theverbbox
> \caption{RCU Update Using Global Reference-Count Pair}
> @@ -771,6 +771,7 @@ scheme that provides greatly improved read-side performance and scalability.
> \subsubsection{Scalable Counter-Based RCU}
> \label{defer:Scalable Counter-Based RCU}
>
> +\begin{figure}[tb]
> { \scriptsize
> \begin{verbbox}
> 1 DEFINE_SPINLOCK(rcu_gp_lock);
> @@ -780,13 +781,13 @@ scheme that provides greatly improved read-side performance and scalability.
> 5 DEFINE_PER_THREAD(int, rcu_read_idx);
> \end{verbbox}
> }
> -\begin{figure}[tb]
> \centering
> \theverbbox
> \caption{RCU Per-Thread Reference-Count Pair Data}
> \label{fig:defer:RCU Per-Thread Reference-Count Pair Data}
> \end{figure}
>
> +\begin{figure}[tb]
> { \scriptsize
> \begin{verbbox}
> 1 static void rcu_read_lock(void)
> @@ -819,7 +820,6 @@ scheme that provides greatly improved read-side performance and scalability.
> 28 }
> \end{verbbox}
> }
> -\begin{figure}[tb]
> \centering
> \theverbbox
> \caption{RCU Read-Side Using Per-Thread Reference-Count Pair}
> @@ -859,6 +859,7 @@ perform atomic operations.
> But thankfully, it seems that no one runs Linux on 8-bit systems.
> } \QuickQuizEnd
>
> +\begin{figure}[tbp]
> { \scriptsize
> \begin{verbbox}
> 1 static void flip_counter_and_wait(int i)
> @@ -889,7 +890,6 @@ perform atomic operations.
> 26 }
> \end{verbbox}
> }
> -\begin{figure}[tbp]
> \centering
> \theverbbox
> \caption{RCU Update Using Per-Thread Reference-Count Pair}
> @@ -978,6 +978,7 @@ concurrent RCU updates.
> \subsubsection{Scalable Counter-Based RCU With Shared Grace Periods}
> \label{defer:Scalable Counter-Based RCU With Shared Grace Periods}
>
> +\begin{figure}[tbp]
> { \scriptsize
> \begin{verbbox}
> 1 DEFINE_SPINLOCK(rcu_gp_lock);
> @@ -987,13 +988,13 @@ concurrent RCU updates.
> 5 DEFINE_PER_THREAD(int, rcu_read_idx);
> \end{verbbox}
> }
> -\begin{figure}[tbp]
> \centering
> \theverbbox
> \caption{RCU Read-Side Using Per-Thread Reference-Count Pair and Shared Update Data}
> \label{fig:defer:RCU Read-Side Using Per-Thread Reference-Count Pair and Shared Update Data}
> \end{figure}
>
> +\begin{figure}[tbp]
> { \scriptsize
> \begin{verbbox}
> 1 static void rcu_read_lock(void)
> @@ -1026,7 +1027,6 @@ concurrent RCU updates.
> 28 }
> \end{verbbox}
> }
> -\begin{figure}[tbp]
> \centering
> \theverbbox
> \caption{RCU Read-Side Using Per-Thread Reference-Count Pair and Shared Update}
> @@ -1051,6 +1051,7 @@ Figure~\ref{fig:defer:RCU Read-Side Using Per-Thread Reference-Count Pair and Sh
> with \co{rcu_idx} now being a \co{long} instead of an
> \co{atomic_t}.
>
> +\begin{figure}[tbp]
> { \scriptsize
> \begin{verbbox}
> 1 static void flip_counter_and_wait(int ctr)
> @@ -1092,7 +1093,6 @@ with \co{rcu_idx} now being a \co{long} instead of an
> 37 }
> \end{verbbox}
> }
> -\begin{figure}[tbp]
> \centering
> \theverbbox
> \caption{RCU Shared Update Using Per-Thread Reference-Count Pair}
> @@ -1204,6 +1204,7 @@ thread-local accesses to one, as is done in the next section.
> \subsubsection{RCU Based on Free-Running Counter}
> \label{defer:RCU Based on Free-Running Counter}
>
> +\begin{figure}[tbp]
> { \scriptsize
> \begin{verbbox}
> 1 DEFINE_SPINLOCK(rcu_gp_lock);
> @@ -1212,13 +1213,13 @@ thread-local accesses to one, as is done in the next section.
> 4 DEFINE_PER_THREAD(long, rcu_reader_gp_snap);
> \end{verbbox}
> }
> -\begin{figure}[tbp]
> \centering
> \theverbbox
> \caption{Data for Free-Running Counter Using RCU}
> \label{fig:defer:Data for Free-Running Counter Using RCU}
> \end{figure}
>
> +\begin{figure}[tbp]
> { \scriptsize
> \begin{verbbox}
> 1 static void rcu_read_lock(void)
> @@ -1255,7 +1256,6 @@ thread-local accesses to one, as is done in the next section.
> 32 }
> \end{verbbox}
> }
> -\begin{figure}[tbp]
> \centering
> \theverbbox
> \caption{Free-Running Counter Using RCU}
> @@ -1394,6 +1394,7 @@ variables.
> \subsubsection{Nestable RCU Based on Free-Running Counter}
> \label{defer:Nestable RCU Based on Free-Running Counter}
>
> +\begin{figure}[tb]
> { \scriptsize
> \begin{verbbox}
> 1 DEFINE_SPINLOCK(rcu_gp_lock);
> @@ -1404,13 +1405,13 @@ variables.
> 6 DEFINE_PER_THREAD(long, rcu_reader_gp);
> \end{verbbox}
> }
> -\begin{figure}[tb]
> \centering
> \theverbbox
> \caption{Data for Nestable RCU Using a Free-Running Counter}
> \label{fig:defer:Data for Nestable RCU Using a Free-Running Counter}
> \end{figure}
>
> +\begin{figure}[tb]
> { \scriptsize
> \begin{verbbox}
> 1 static void rcu_read_lock(void)
> @@ -1456,7 +1457,6 @@ variables.
> 41 }
> \end{verbbox}
> }
> -\begin{figure}[tb]
> \centering
> \theverbbox
> \caption{Nestable RCU Using a Free-Running Counter}
> @@ -1677,6 +1677,7 @@ overhead.
> \subsubsection{RCU Based on Quiescent States}
> \label{defer:RCU Based on Quiescent States}
>
> +\begin{figure}[tbp]
> { \scriptsize
> \begin{verbbox}
> 1 DEFINE_SPINLOCK(rcu_gp_lock);
> @@ -1684,13 +1685,13 @@ overhead.
> 3 DEFINE_PER_THREAD(long, rcu_reader_qs_gp);
> \end{verbbox}
> }
> -\begin{figure}[tbp]
> \centering
> \theverbbox
> \caption{Data for Quiescent-State-Based RCU}
> \label{fig:defer:Data for Quiescent-State-Based RCU}
> \end{figure}
>
> +\begin{figure}[tbp]
> { \scriptsize
> \begin{verbbox}
> 1 static void rcu_read_lock(void)
> @@ -1723,7 +1724,6 @@ overhead.
> 28 }
> \end{verbbox}
> }
> -\begin{figure}[tbp]
> \centering
> \theverbbox
> \caption{Quiescent-State-Based RCU Read Side}
> @@ -1830,6 +1830,7 @@ The \co{rcu_thread_online()} function simply invokes
> \co{rcu_quiescent_state()}, thus marking the end of the extended
> quiescent state.
>
> +\begin{figure}[tbp]
> { \scriptsize
> \begin{verbbox}
> 1 void synchronize_rcu(void)
> @@ -1852,7 +1853,6 @@ quiescent state.
> 18 }
> \end{verbbox}
> }
> -\begin{figure}[tbp]
> \centering
> \theverbbox
> \caption{RCU Update Side Using Quiescent States}
> --
> 1.9.1
>
next prev parent reply other threads:[~2016-09-12 14:49 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-09-07 15:47 [PATCH] TRIAL: Indentation tweaks around 'verbbox' environment Akira Yokosawa
2016-09-07 15:58 ` Akira Yokosawa
2016-09-08 11:16 ` Paul E. McKenney
2016-09-10 0:19 ` Akira Yokosawa
2016-09-10 16:28 ` Paul E. McKenney
2016-09-11 2:10 ` Akira Yokosawa
2016-09-11 2:49 ` [RFC PATCH] toyrcu: Enclose 'verbbox' within 'figure' Akira Yokosawa
2016-09-12 14:49 ` Paul E. McKenney [this message]
2016-09-12 15:05 ` Akira Yokosawa
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=20160912144911.GF3851@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.