* [PATCH] formal/dyntickrcu: Mitigate ugliness of tall inline snippets
@ 2019-04-06 0:31 Akira Yokosawa
2019-04-06 2:05 ` Paul E. McKenney
2019-04-08 15:44 ` [PATCH 0/3] formal/dyntickrcu: Followup changes Akira Yokosawa
0 siblings, 2 replies; 7+ messages in thread
From: Akira Yokosawa @ 2019-04-06 0:31 UTC (permalink / raw)
To: Paul E. McKenney; +Cc: perfbook, Akira Yokosawa
From 8f49523f66fb2281b4337ce57f6502400f0dcb9c Mon Sep 17 00:00:00 2001
From: Akira Yokosawa <akiyks@gmail.com>
Date: Sat, 6 Apr 2019 08:53:12 +0900
Subject: [PATCH] formal/dyntickrcu: Mitigate ugliness of tall inline snippets
In two-column layout, frames around snippets by \VerbatimN cause
column breaks of snippets look somewhat ugly.
As a mitigation, disable frame of \VerbatimN in this particular
section. Also use \VerbatimU for patch snippets to prevent
them from breaking other inline snippets in one-column layout.
Signed-off-by: Akira Yokosawa <akiyks@gmail.com>
---
Hi Paul,
I know this is not ideal for you, but in one-column layout, the
column breaks of long snippets does not disturb me so much.
So this patch disables frame around \VerbatimN for two-column layout
to restore the looks in the old scheme.
Isn't this approach acceptable to you, at least as a workaround?
Thanks, Akira
--
formal/dyntickrcu.tex | 67 ++++++++++++++++++++++++-------------------
1 file changed, 38 insertions(+), 29 deletions(-)
diff --git a/formal/dyntickrcu.tex b/formal/dyntickrcu.tex
index c73cdd2f..94093ee9 100644
--- a/formal/dyntickrcu.tex
+++ b/formal/dyntickrcu.tex
@@ -1,5 +1,14 @@
% formal/dyntickrcu.tex
+% Disable frame around VerbatimN in two-column layout
+\IfTwoColumn{
+\RecustomVerbatimEnvironment{VerbatimN}{Verbatim}%
+{numbers=left,numbersep=5pt,xleftmargin=10pt,xrightmargin=0pt,frame=none}
+\AtBeginEnvironment{VerbatimN}{%
+\renewcommand{\lnlbl}[1]{\raisebox{0pt}{\phantomsection\label{\lnlblbase:#1}}}%
+}
+}{}
+
\subsection{Promela Parable: dynticks and Preemptible RCU}
\label{sec:formal:Promela Parable: dynticks and Preemptible RCU}
@@ -1114,10 +1123,19 @@ states, passing without errors.
\subsubsection{Lessons (Re)Learned}
\label{sec:formal:Lessons (Re)Learned}
-\NoIndentAfterThis
-\begin{listing}[tbp]
-\begin{VerbatimL}[numbers=none]
+This effort provided some lessons (re)learned:
+
+\begin{enumerate}
+\item {\bf Promela and Spin can verify interrupt\slash NMI\-/handler
+ interactions.}
+\item {\bf Documenting code can help locate bugs.}
+ In this case, the documentation effort located
+ a misplaced memory barrier in
+ \co{rcu_enter_nohz()} and \co{rcu_exit_nohz()},
+ as shown by the following patch.
+
+\begin{VerbatimU}
static inline void rcu_enter_nohz(void)
{
+ mb();
@@ -1131,38 +1149,20 @@ states, passing without errors.
__get_cpu_var(dynticks_progress_counter)++;
+ mb();
}
-\end{VerbatimL}
-\caption{Memory-Barrier Fix Patch}
-\label{lst:formal:Memory-Barrier Fix Patch}
-\end{listing}
-
-\begin{listing}[tbp]
-\begin{VerbatimL}[numbers=none]
-- if ((curr - snap) > 2 || (snap & 0x1) == 0)
-+ if ((curr - snap) > 2 || (curr & 0x1) == 0)
-\end{VerbatimL}
-\caption{Variable-Name-Typo Fix Patch}
-\label{lst:formal:Variable-Name-Typo Fix Patch}
-\end{listing}
-
-This effort provided some lessons (re)learned:
+\end{VerbatimU}
-\begin{enumerate}
-\item {\bf Promela and Spin can verify interrupt\slash NMI\-/handler
- interactions.}
-\item {\bf Documenting code can help locate bugs.}
- In this case, the documentation effort located
- a misplaced memory barrier in
- \co{rcu_enter_nohz()} and \co{rcu_exit_nohz()},
- as shown by the patch in
- Listing~\ref{lst:formal:Memory-Barrier Fix Patch}.
\item {\bf Validate your code early, often, and up to the point
of destruction.}
This effort located one subtle bug in
\co{rcu_try_flip_waitack_needed()}
that would have been quite difficult to test or debug, as
- shown by the patch in
- Listing~\ref{lst:formal:Variable-Name-Typo Fix Patch}.
+ shown by the following patch.
+
+\begin{VerbatimU}
+- if ((curr - snap) > 2 || (snap & 0x1) == 0)
++ if ((curr - snap) > 2 || (curr & 0x1) == 0)
+\end{VerbatimU}
+
\item {\bf Always verify your verification code.}
The usual way to do this is to insert a deliberate bug
and verify that the verification code catches it. Of course,
@@ -1621,3 +1621,12 @@ where an NMI might change shared state at any point during execution of
the \IRQ\ functions.
Verification can be a good thing, but simplicity is even better.
+
+% Restore frame around VerbatimN in two-column layout
+\IfTwoColumn{
+\RecustomVerbatimEnvironment{VerbatimN}{Verbatim}%
+{numbers=left,numbersep=3pt,xleftmargin=5pt,xrightmargin=5pt,frame=single}
+\AtBeginEnvironment{VerbatimN}{%
+\renewcommand{\lnlbl}[1]{\raisebox{9pt}{\phantomsection\label{\lnlblbase:#1}}}%
+}
+}{}
--
2.17.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH] formal/dyntickrcu: Mitigate ugliness of tall inline snippets
2019-04-06 0:31 [PATCH] formal/dyntickrcu: Mitigate ugliness of tall inline snippets Akira Yokosawa
@ 2019-04-06 2:05 ` Paul E. McKenney
2019-04-08 15:44 ` [PATCH 0/3] formal/dyntickrcu: Followup changes Akira Yokosawa
1 sibling, 0 replies; 7+ messages in thread
From: Paul E. McKenney @ 2019-04-06 2:05 UTC (permalink / raw)
To: Akira Yokosawa; +Cc: perfbook
On Sat, Apr 06, 2019 at 09:31:03AM +0900, Akira Yokosawa wrote:
> >From 8f49523f66fb2281b4337ce57f6502400f0dcb9c Mon Sep 17 00:00:00 2001
> From: Akira Yokosawa <akiyks@gmail.com>
> Date: Sat, 6 Apr 2019 08:53:12 +0900
> Subject: [PATCH] formal/dyntickrcu: Mitigate ugliness of tall inline snippets
>
> In two-column layout, frames around snippets by \VerbatimN cause
> column breaks of snippets look somewhat ugly.
>
> As a mitigation, disable frame of \VerbatimN in this particular
> section. Also use \VerbatimU for patch snippets to prevent
> them from breaking other inline snippets in one-column layout.
>
> Signed-off-by: Akira Yokosawa <akiyks@gmail.com>
> ---
> Hi Paul,
>
> I know this is not ideal for you, but in one-column layout, the
> column breaks of long snippets does not disturb me so much.
>
> So this patch disables frame around \VerbatimN for two-column layout
> to restore the looks in the old scheme.
>
> Isn't this approach acceptable to you, at least as a workaround?
Looks good for now, thank you! Longer term, I need to break up the
longer listings, but in the short term I need to finish several
changes that I have started.
Thanx, Paul
> Thanks, Akira
> --
> formal/dyntickrcu.tex | 67 ++++++++++++++++++++++++-------------------
> 1 file changed, 38 insertions(+), 29 deletions(-)
>
> diff --git a/formal/dyntickrcu.tex b/formal/dyntickrcu.tex
> index c73cdd2f..94093ee9 100644
> --- a/formal/dyntickrcu.tex
> +++ b/formal/dyntickrcu.tex
> @@ -1,5 +1,14 @@
> % formal/dyntickrcu.tex
>
> +% Disable frame around VerbatimN in two-column layout
> +\IfTwoColumn{
> +\RecustomVerbatimEnvironment{VerbatimN}{Verbatim}%
> +{numbers=left,numbersep=5pt,xleftmargin=10pt,xrightmargin=0pt,frame=none}
> +\AtBeginEnvironment{VerbatimN}{%
> +\renewcommand{\lnlbl}[1]{\raisebox{0pt}{\phantomsection\label{\lnlblbase:#1}}}%
> +}
> +}{}
> +
> \subsection{Promela Parable: dynticks and Preemptible RCU}
> \label{sec:formal:Promela Parable: dynticks and Preemptible RCU}
>
> @@ -1114,10 +1123,19 @@ states, passing without errors.
>
> \subsubsection{Lessons (Re)Learned}
> \label{sec:formal:Lessons (Re)Learned}
> -\NoIndentAfterThis
>
> -\begin{listing}[tbp]
> -\begin{VerbatimL}[numbers=none]
> +This effort provided some lessons (re)learned:
> +
> +\begin{enumerate}
> +\item {\bf Promela and Spin can verify interrupt\slash NMI\-/handler
> + interactions.}
> +\item {\bf Documenting code can help locate bugs.}
> + In this case, the documentation effort located
> + a misplaced memory barrier in
> + \co{rcu_enter_nohz()} and \co{rcu_exit_nohz()},
> + as shown by the following patch.
> +
> +\begin{VerbatimU}
> static inline void rcu_enter_nohz(void)
> {
> + mb();
> @@ -1131,38 +1149,20 @@ states, passing without errors.
> __get_cpu_var(dynticks_progress_counter)++;
> + mb();
> }
> -\end{VerbatimL}
> -\caption{Memory-Barrier Fix Patch}
> -\label{lst:formal:Memory-Barrier Fix Patch}
> -\end{listing}
> -
> -\begin{listing}[tbp]
> -\begin{VerbatimL}[numbers=none]
> -- if ((curr - snap) > 2 || (snap & 0x1) == 0)
> -+ if ((curr - snap) > 2 || (curr & 0x1) == 0)
> -\end{VerbatimL}
> -\caption{Variable-Name-Typo Fix Patch}
> -\label{lst:formal:Variable-Name-Typo Fix Patch}
> -\end{listing}
> -
> -This effort provided some lessons (re)learned:
> +\end{VerbatimU}
>
> -\begin{enumerate}
> -\item {\bf Promela and Spin can verify interrupt\slash NMI\-/handler
> - interactions.}
> -\item {\bf Documenting code can help locate bugs.}
> - In this case, the documentation effort located
> - a misplaced memory barrier in
> - \co{rcu_enter_nohz()} and \co{rcu_exit_nohz()},
> - as shown by the patch in
> - Listing~\ref{lst:formal:Memory-Barrier Fix Patch}.
> \item {\bf Validate your code early, often, and up to the point
> of destruction.}
> This effort located one subtle bug in
> \co{rcu_try_flip_waitack_needed()}
> that would have been quite difficult to test or debug, as
> - shown by the patch in
> - Listing~\ref{lst:formal:Variable-Name-Typo Fix Patch}.
> + shown by the following patch.
> +
> +\begin{VerbatimU}
> +- if ((curr - snap) > 2 || (snap & 0x1) == 0)
> ++ if ((curr - snap) > 2 || (curr & 0x1) == 0)
> +\end{VerbatimU}
> +
> \item {\bf Always verify your verification code.}
> The usual way to do this is to insert a deliberate bug
> and verify that the verification code catches it. Of course,
> @@ -1621,3 +1621,12 @@ where an NMI might change shared state at any point during execution of
> the \IRQ\ functions.
>
> Verification can be a good thing, but simplicity is even better.
> +
> +% Restore frame around VerbatimN in two-column layout
> +\IfTwoColumn{
> +\RecustomVerbatimEnvironment{VerbatimN}{Verbatim}%
> +{numbers=left,numbersep=3pt,xleftmargin=5pt,xrightmargin=5pt,frame=single}
> +\AtBeginEnvironment{VerbatimN}{%
> +\renewcommand{\lnlbl}[1]{\raisebox{9pt}{\phantomsection\label{\lnlblbase:#1}}}%
> +}
> +}{}
> --
> 2.17.1
>
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 0/3] formal/dyntickrcu: Followup changes
2019-04-06 0:31 [PATCH] formal/dyntickrcu: Mitigate ugliness of tall inline snippets Akira Yokosawa
2019-04-06 2:05 ` Paul E. McKenney
@ 2019-04-08 15:44 ` Akira Yokosawa
2019-04-08 15:46 ` [PATCH 1/3] formal/dyntickrcu: Fix the way to redefine VerbatimN Akira Yokosawa
` (3 more replies)
1 sibling, 4 replies; 7+ messages in thread
From: Akira Yokosawa @ 2019-04-08 15:44 UTC (permalink / raw)
To: Paul E. McKenney; +Cc: perfbook, Akira Yokosawa
Hi Paul,
This is a followup patch set relative to the workaround patch
in this mail thread ("formal/dyntickrcu: Mitigate ugliness around
tall inline snippets").
Looks like you have not pushed it yet, though.
It turns out that I misunderstood the working of \AtBeginEnvironment{}
command, and patch #1 fixes the way to redefine VerbatimN environment.
I wanted to add a Fixes: tag, but I don't have the commit id, so
I put a stub of "xxxxxxxxxxxx" in the change log. Can you replace it
with the actual commit id?
Patches #2 and #3 add references to the git commits of the fixes to
bugs in preemptive RCU found by verification. The actual changes were
a little bit different from what are presented in inline snippets,
but I left the snippets as are. As they are more than a decade
old, adding references should help the context look more real.
Thanks, Akira
--
Akira Yokosawa (3):
formal/dyntickrcu: Fix the way to redefine VerbatimN
RCU.bib: Add entries of git commits of dyntickrcu fixes
formal/dyntickrcu: Cite git commits of dyntickrcu fixes
bib/RCU.bib | 22 ++++++++++++++++++++++
formal/dyntickrcu.tex | 12 ++++--------
perfbook.tex | 5 ++++-
3 files changed, 30 insertions(+), 9 deletions(-)
--
2.17.1
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 1/3] formal/dyntickrcu: Fix the way to redefine VerbatimN
2019-04-08 15:44 ` [PATCH 0/3] formal/dyntickrcu: Followup changes Akira Yokosawa
@ 2019-04-08 15:46 ` Akira Yokosawa
2019-04-08 15:47 ` [PATCH 2/3] RCU.bib: Add entries of git commits of dyntickrcu fixes Akira Yokosawa
` (2 subsequent siblings)
3 siblings, 0 replies; 7+ messages in thread
From: Akira Yokosawa @ 2019-04-08 15:46 UTC (permalink / raw)
To: Paul E. McKenney; +Cc: perfbook, Akira Yokosawa
From 111d908f713435dfd62384eb1cc29a24268537ea Mon Sep 17 00:00:00 2001
From: Akira Yokosawa <akiyks@gmail.com>
Date: Mon, 8 Apr 2019 21:20:14 +0900
Subject: [PATCH 1/3] formal/dyntickrcu: Fix the way to redefine VerbatimN
It turns out the \AtBeginEnvironment{} command accumulates specified
commands in a hook. By using a length variable within the patching
command, just setting the length is good enough in dyntickruc.tex.
"9pt" in the old code was a typo. It should have been "6pt".
Signed-off-by: Akira Yokosawa <akiyks@gmail.com>
Fixes: xxxxxxxxxxxx ("formal/dyntickrcu: Mitigate ugliness around tall inline snippets")
---
formal/dyntickrcu.tex | 8 ++------
perfbook.tex | 5 ++++-
2 files changed, 6 insertions(+), 7 deletions(-)
diff --git a/formal/dyntickrcu.tex b/formal/dyntickrcu.tex
index 94093ee9..0c09d1ce 100644
--- a/formal/dyntickrcu.tex
+++ b/formal/dyntickrcu.tex
@@ -4,9 +4,7 @@
\IfTwoColumn{
\RecustomVerbatimEnvironment{VerbatimN}{Verbatim}%
{numbers=left,numbersep=5pt,xleftmargin=10pt,xrightmargin=0pt,frame=none}
-\AtBeginEnvironment{VerbatimN}{%
-\renewcommand{\lnlbl}[1]{\raisebox{0pt}{\phantomsection\label{\lnlblbase:#1}}}%
-}
+\setlength{\lnlblraise}{0pt}
}{}
\subsection{Promela Parable: dynticks and Preemptible RCU}
@@ -1626,7 +1624,5 @@ Verification can be a good thing, but simplicity is even better.
\IfTwoColumn{
\RecustomVerbatimEnvironment{VerbatimN}{Verbatim}%
{numbers=left,numbersep=3pt,xleftmargin=5pt,xrightmargin=5pt,frame=single}
-\AtBeginEnvironment{VerbatimN}{%
-\renewcommand{\lnlbl}[1]{\raisebox{9pt}{\phantomsection\label{\lnlblbase:#1}}}%
-}
+\setlength{\lnlblraise}{6pt}
}{}
diff --git a/perfbook.tex b/perfbook.tex
index dd4a8d42..641df90a 100644
--- a/perfbook.tex
+++ b/perfbook.tex
@@ -251,8 +251,11 @@
%\fvset{fontsize=\scriptsize,numbers=left,numbersep=5pt,xleftmargin=9pt,obeytabs=true,tabsize=2}
\newcommand{\lnlblbase}{}
\newcommand{\lnlbl}[1]{\phantomsection\label{\lnlblbase:#1}}
+\newlength{\lnlblraise}
+\setlength{\lnlblraise}{6pt}
\AtBeginEnvironment{VerbatimN}{%
-\renewcommand{\lnlbl}[1]{\raisebox{6pt}{\phantomsection\label{\lnlblbase:#1}}}%
+\renewcommand{\lnlbl}[1]{%
+\raisebox{\lnlblraise}{\phantomsection\label{\lnlblbase:#1}}}%
}
\newcommand{\lnrefbase}{}
\newcommand{\lnref}[1]{\ref{\lnrefbase:#1}}
--
2.17.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 2/3] RCU.bib: Add entries of git commits of dyntickrcu fixes
2019-04-08 15:44 ` [PATCH 0/3] formal/dyntickrcu: Followup changes Akira Yokosawa
2019-04-08 15:46 ` [PATCH 1/3] formal/dyntickrcu: Fix the way to redefine VerbatimN Akira Yokosawa
@ 2019-04-08 15:47 ` Akira Yokosawa
2019-04-08 15:48 ` [PATCH 3/3] formal/dyntickrcu: Cite " Akira Yokosawa
2019-04-08 18:42 ` [PATCH 0/3] formal/dyntickrcu: Followup changes Paul E. McKenney
3 siblings, 0 replies; 7+ messages in thread
From: Akira Yokosawa @ 2019-04-08 15:47 UTC (permalink / raw)
To: Paul E. McKenney; +Cc: perfbook, Akira Yokosawa
From eca275e44ff447bdbd397411f363d816bcab25a4 Mon Sep 17 00:00:00 2001
From: Akira Yokosawa <akiyks@gmail.com>
Date: Tue, 9 Apr 2019 00:06:53 +0900
Subject: [PATCH 2/3] RCU.bib: Add entries of git commits of dyntickrcu fixes
These are to be cited in formal/dyntickrcu.tex.
Signed-off-by: Akira Yokosawa <akiyks@gmail.com>
---
bib/RCU.bib | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
diff --git a/bib/RCU.bib b/bib/RCU.bib
index 7f0204f7..073b89ef 100644
--- a/bib/RCU.bib
+++ b/bib/RCU.bib
@@ -3063,3 +3063,25 @@ Read-Copy-Update {(RCU)}"
,year="2019"
,note="\url{https://lkml.org/lkml/2019/2/27/829}"
}
+
+@unpublished{PaulEMcKenney2008commit:d7c0651390b6
+,Author="Paul E. McKenney"
+,Title="rcu: fix \co{rcu_try_flip_waitack_needed()} to prevent grace-period stall"
+,month="May"
+,day="12"
+,year="2008"
+,note="Git commit:
+\url{https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=d7c0651390b6}"
+,lastchecked="April 6, 2019"
+}
+
+@unpublished{PaulEMcKenney2008commit:ae66be9b71b1
+,Author="Paul E. McKenney"
+,Title="rcu: fix misplaced \co{mb()} in \co{rcu_enter/exit_nohz()}"
+,month="March"
+,day="19"
+,year="2008"
+,note="Git commit:
+\url{https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=ae66be9b71b1}"
+,lastchecked="April 6, 2019"
+}
\ No newline at end of file
--
2.17.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 3/3] formal/dyntickrcu: Cite git commits of dyntickrcu fixes
2019-04-08 15:44 ` [PATCH 0/3] formal/dyntickrcu: Followup changes Akira Yokosawa
2019-04-08 15:46 ` [PATCH 1/3] formal/dyntickrcu: Fix the way to redefine VerbatimN Akira Yokosawa
2019-04-08 15:47 ` [PATCH 2/3] RCU.bib: Add entries of git commits of dyntickrcu fixes Akira Yokosawa
@ 2019-04-08 15:48 ` Akira Yokosawa
2019-04-08 18:42 ` [PATCH 0/3] formal/dyntickrcu: Followup changes Paul E. McKenney
3 siblings, 0 replies; 7+ messages in thread
From: Akira Yokosawa @ 2019-04-08 15:48 UTC (permalink / raw)
To: Paul E. McKenney; +Cc: perfbook, Akira Yokosawa
From ce3017c2ee2b9b52501cc5d6f9bf896486fe6ac4 Mon Sep 17 00:00:00 2001
From: Akira Yokosawa <akiyks@gmail.com>
Date: Tue, 9 Apr 2019 00:07:18 +0900
Subject: [PATCH 3/3] formal/dyntickrcu: Cite git commits of dyntickrcu fixes
Signed-off-by: Akira Yokosawa <akiyks@gmail.com>
---
formal/dyntickrcu.tex | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/formal/dyntickrcu.tex b/formal/dyntickrcu.tex
index 0c09d1ce..2ba58cd3 100644
--- a/formal/dyntickrcu.tex
+++ b/formal/dyntickrcu.tex
@@ -1131,7 +1131,7 @@ This effort provided some lessons (re)learned:
In this case, the documentation effort located
a misplaced memory barrier in
\co{rcu_enter_nohz()} and \co{rcu_exit_nohz()},
- as shown by the following patch.
+ as shown by the following patch~\cite{PaulEMcKenney2008commit:d7c0651390b6}.
\begin{VerbatimU}
static inline void rcu_enter_nohz(void)
@@ -1154,7 +1154,7 @@ This effort provided some lessons (re)learned:
This effort located one subtle bug in
\co{rcu_try_flip_waitack_needed()}
that would have been quite difficult to test or debug, as
- shown by the following patch.
+ shown by the following patch~\cite{PaulEMcKenney2008commit:ae66be9b71b1}.
\begin{VerbatimU}
- if ((curr - snap) > 2 || (snap & 0x1) == 0)
--
2.17.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 0/3] formal/dyntickrcu: Followup changes
2019-04-08 15:44 ` [PATCH 0/3] formal/dyntickrcu: Followup changes Akira Yokosawa
` (2 preceding siblings ...)
2019-04-08 15:48 ` [PATCH 3/3] formal/dyntickrcu: Cite " Akira Yokosawa
@ 2019-04-08 18:42 ` Paul E. McKenney
3 siblings, 0 replies; 7+ messages in thread
From: Paul E. McKenney @ 2019-04-08 18:42 UTC (permalink / raw)
To: Akira Yokosawa; +Cc: perfbook
On Tue, Apr 09, 2019 at 12:44:20AM +0900, Akira Yokosawa wrote:
> Hi Paul,
>
> This is a followup patch set relative to the workaround patch
> in this mail thread ("formal/dyntickrcu: Mitigate ugliness around
> tall inline snippets").
>
> Looks like you have not pushed it yet, though.
You are right, I did miss that step! Fixed.
> It turns out that I misunderstood the working of \AtBeginEnvironment{}
> command, and patch #1 fixes the way to redefine VerbatimN environment.
> I wanted to add a Fixes: tag, but I don't have the commit id, so
> I put a stub of "xxxxxxxxxxxx" in the change log. Can you replace it
> with the actual commit id?
Done!
> Patches #2 and #3 add references to the git commits of the fixes to
> bugs in preemptive RCU found by verification. The actual changes were
> a little bit different from what are presented in inline snippets,
> but I left the snippets as are. As they are more than a decade
> old, adding references should help the context look more real.
I reworked #2 a bit to place the new citations in time order (along
with another that I had misplaced).
Queued and this time really pushed! ;-) Thank you!!!
Thanx, Paul
> Thanks, Akira
> --
> Akira Yokosawa (3):
> formal/dyntickrcu: Fix the way to redefine VerbatimN
> RCU.bib: Add entries of git commits of dyntickrcu fixes
> formal/dyntickrcu: Cite git commits of dyntickrcu fixes
>
> bib/RCU.bib | 22 ++++++++++++++++++++++
> formal/dyntickrcu.tex | 12 ++++--------
> perfbook.tex | 5 ++++-
> 3 files changed, 30 insertions(+), 9 deletions(-)
>
> --
> 2.17.1
>
>
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2019-04-08 18:42 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-04-06 0:31 [PATCH] formal/dyntickrcu: Mitigate ugliness of tall inline snippets Akira Yokosawa
2019-04-06 2:05 ` Paul E. McKenney
2019-04-08 15:44 ` [PATCH 0/3] formal/dyntickrcu: Followup changes Akira Yokosawa
2019-04-08 15:46 ` [PATCH 1/3] formal/dyntickrcu: Fix the way to redefine VerbatimN Akira Yokosawa
2019-04-08 15:47 ` [PATCH 2/3] RCU.bib: Add entries of git commits of dyntickrcu fixes Akira Yokosawa
2019-04-08 15:48 ` [PATCH 3/3] formal/dyntickrcu: Cite " Akira Yokosawa
2019-04-08 18:42 ` [PATCH 0/3] formal/dyntickrcu: Followup changes Paul E. McKenney
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox