Re: [PATCH 07/10] docs: RCU: RTFP: fix bibtex entries

From: Paul E. McKenney
Date: Tue Apr 21 2020 - 13:43:32 EST


On Tue, Apr 21, 2020 at 07:04:08PM +0200, Mauro Carvalho Chehab wrote:
> There are several troubles at the bibtex entries with
> prevent them to be processed by LaTeX:
>
> - On LaTeX, comment lines start with '%', but here, comments
> are starting with "#";
> - Underlines should be escaped.
> - While the best would be to use \url{} for all URL entries,
> let's do it at least for a couple that would otherwise
> produce errors on LaTeX.
>
> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@xxxxxxxxxx>

Another approach might be just to link to a public repo containing
cleaned-up versions of these bibliography entries:

https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/perfbook.git/tree/bib/RCU.bib

That would have the advantage of keeping this information in only one
place, and reducing the number of updates required.

Thoughts?

Thanx, Paul

> ---
> Documentation/RCU/RTFP.txt | 98 +++++++++++++++++++-------------------
> 1 file changed, 49 insertions(+), 49 deletions(-)
>
> diff --git a/Documentation/RCU/RTFP.txt b/Documentation/RCU/RTFP.txt
> index 9bccf16736f7..6b93fbbfad19 100644
> --- a/Documentation/RCU/RTFP.txt
> +++ b/Documentation/RCU/RTFP.txt
> @@ -231,7 +231,7 @@ Bibtex Entries
> Use garbage collector to clean up data after everyone is done with it.
> .
> Oldest use of something vaguely resembling RCU that I have found.
> - http://portal.acm.org/citation.cfm?id=320619&dl=GUIDE,
> + \url{http://portal.acm.org/citation.cfm?id=320619&dl=GUIDE},
> [Viewed December 3, 2007]
> }
> }
> @@ -379,7 +379,7 @@ for Programming Languages and Operating Systems}"
> }
> }
>
> -# Was Adams91, see also syncrefs.bib.
> +% Was Adams91, see also syncrefs.bib.
> @Book{Andrews91textbook
> ,Author="Gregory R. Andrews"
> ,title="Concurrent Programming, Principles, and Practices"
> @@ -566,7 +566,7 @@ Operating System Design and Implementation}"
> Use of RCU-like facility in K42/Tornado. Another independent
> invention of RCU.
> See especially pages 7-9 (Section 5).
> - http://www.usenix.org/events/osdi99/full_papers/gamsa/gamsa.pdf
> + \url{http://www.usenix.org/events/osdi99/full_papers/gamsa/gamsa.pdf}
> [Viewed August 30, 2006]
> }
> }
> @@ -1037,10 +1037,10 @@ Add per-cpu batch counter"
> RCU runs reasonably on a 512-CPU SGI using Manfred Spraul's patches,
> which may be found at:
> https://lkml.org/lkml/2004/5/20/49 (split vars into cachelines)
> - https://lkml.org/lkml/2004/5/22/114 (cpu_quiet() patch)
> + https://lkml.org/lkml/2004/5/22/114 (cpu\_quiet() patch)
> https://lkml.org/lkml/2004/5/25/24 (0/5)
> https://lkml.org/lkml/2004/5/25/23 (1/5)
> - https://lkml.org/lkml/2004/5/25/265 (works for Jack)
> + https://lkml.org/lkml/2004/5/25/265 (works for Jack)
> https://lkml.org/lkml/2004/5/25/20 (2/5)
> https://lkml.org/lkml/2004/5/25/22 (3/5)
> https://lkml.org/lkml/2004/5/25/19 (4/5)
> @@ -1109,7 +1109,7 @@ Oregon Health and Sciences University"
> \url{http://lkml.org/lkml/2004/8/6/237}
> [Viewed June 8, 2010]"
> ,annotation={
> - Introduce rcu_dereference().
> + Introduce rcu\_dereference().
> }
> }
>
> @@ -1122,7 +1122,7 @@ Oregon Health and Sciences University"
> \url{http://lkml.org/lkml/2004/8/30/87}
> [Viewed February 17, 2005]"
> ,annotation={
> - Uses active code in rcu_read_lock() and rcu_read_unlock() to
> + Uses active code in rcu\_read\_lock() and rcu\_read\_unlock() to
> make RCU happen, allowing RCU to function on CPUs that do not
> receive a scheduling-clock interrupt.
> }
> @@ -1134,7 +1134,7 @@ Oregon Health and Sciences University"
> ,month="October"
> ,year="2004"
> ,note="Available:
> -\url{http://www.cs.toronto.edu/~tomhart/masters_thesis.html}
> +\url{http://www.cs.toronto.edu/~tomhart/masters\_thesis.html}
> [Viewed October 15, 2004]"
> ,annotation={
> Proposes comparing RCU to lock-free methods for the Linux kernel.
> @@ -1150,7 +1150,7 @@ Oregon Health and Sciences University"
> \url{http://marc.theaimsgroup.com/?t=109395731700004&r=1&w=2}
> [Viewed October 18, 2004]"
> ,annotation={
> - Srivatsa's RCU patch for tcp_ehash lookup.
> + Srivatsa's RCU patch for tcp\_ehash lookup.
> }
> }
>
> @@ -1182,14 +1182,14 @@ Oregon Health and Sciences University"
>
> @unpublished{PaulEMcKenney2004rcu:assign:pointer
> ,Author="Paul E. McKenney"
> -,Title="{[PATCH 1/3] RCU: \url{rcu_assign_pointer()} removal of memory barriers}"
> +,Title="{[PATCH 1/3] RCU: \url{rcu\_assign\_pointer()} removal of memory barriers}"
> ,month="October"
> ,year="2004"
> ,note="Available:
> \url{http://lkml.org/lkml/2004/10/23/241}
> [Viewed June 8, 2010]"
> ,annotation={
> - Introduce rcu_assign_pointer().
> + Introduce rcu\_assign\_pointer().
> }
> }
>
> @@ -1283,7 +1283,7 @@ Data Structures"
>
> @unpublished{JonCorbet2005DeprecateSyncKernel
> ,Author="Jonathan Corbet"
> -,Title="API change: synchronize_kernel() deprecated"
> +,Title="API change: synchronize\_kernel() deprecated"
> ,month="May"
> ,day="3"
> ,year="2005"
> @@ -1291,8 +1291,8 @@ Data Structures"
> \url{http://lwn.net/Articles/134484/}
> [Viewed May 3, 2005]"
> ,annotation={
> - Jon Corbet describes deprecation of synchronize_kernel()
> - in favor of synchronize_rcu() and synchronize_sched().
> + Jon Corbet describes deprecation of synchronize\_kernel()
> + in favor of synchronize\_rcu() and synchronize\_sched().
> }
> }
>
> @@ -1306,7 +1306,7 @@ Data Structures"
> [Viewed May 13, 2005]"
> ,annotation={
> First publication of working lock-based deferred free patches
> - for the CONFIG_PREEMPT_RT environment.
> + for the CONFIG\_PREEMPT\_RT environment.
> }
> }
>
> @@ -1511,7 +1511,7 @@ Canis Rufus and Zoicon5 and Anome and Hal Eisen"
> ,Year="2006"
> ,pages="v2 249-254"
> ,note="Available:
> -\url{http://www.linuxsymposium.org/2006/view_abstract.php?content_key=184}
> +\url{http://www.linuxsymposium.org/2006/view\_abstract.php?content\_key=184}
> [Viewed January 11, 2009]"
> ,annotation={
> Uses RCU-protected radix tree for a lockless page cache.
> @@ -1606,8 +1606,8 @@ Revised:
>
> @unpublished{JensAxboe2006SlowSRCU
> ,Author="Jens Axboe"
> -,Title="Re: [patch] cpufreq: mark \url{cpufreq_tsc()} as
> -\url{core_initcall_sync}"
> +,Title="Re: [patch] cpufreq: mark \url{cpufreq\_tsc()} as
> +\url{core\_initcall\_sync}"
> ,month="November"
> ,year="2006"
> ,day=17
> @@ -1701,7 +1701,7 @@ Revised:
> }
> }
>
> -# CoreyMinyard2007list_splice_rcu
> +% CoreyMinyard2007list_splice_rcu
> @unpublished{CoreyMinyard2007list:splice:rcu
> ,Author="Corey Minyard and Paul E. McKenney"
> ,Title="{[PATCH]} add an {RCU} version of list splicing"
> @@ -1712,7 +1712,7 @@ Revised:
> \url{http://lkml.org/lkml/2007/1/3/112}
> [Viewed May 28, 2007]"
> ,annotation={
> - Patch for list_splice_rcu().
> + Patch for list\_splice\_rcu().
> }
> }
>
> @@ -1726,7 +1726,7 @@ Revised:
> \url{http://lwn.net/Articles/217484/}
> [Viewed November 22, 2007]"
> ,annotation={
> - LWN article introducing the rcu_barrier() primitive.
> + LWN article introducing the rcu\_barrier() primitive.
> }
> }
>
> @@ -1925,7 +1925,7 @@ Revised:
> }
> }
>
> -# MathieuDesnoyers2007call_rcu_schedNeeded
> +% MathieuDesnoyers2007call_rcu_schedNeeded
> @unpublished{MathieuDesnoyers2007call:rcu:schedNeeded
> ,Author="Mathieu Desnoyers"
> ,Title="Re: [patch 1/2] {Linux} Kernel Markers - Support Multiple Probes"
> @@ -1936,18 +1936,18 @@ Revised:
> \url{http://lkml.org/lkml/2007/12/20/244}
> [Viewed March 27, 2008]"
> ,annotation={
> - Request for call_rcu_sched() and rcu_barrier_sched().
> + Request for call\_rcu\_sched() and rcu\_barrier\_sched().
> }
> }
>
>
> -########################################################################
> -#
> -# "What is RCU?" LWN series.
> -#
> -# http://lwn.net/Articles/262464/ (What is RCU, Fundamentally?)
> -# http://lwn.net/Articles/263130/ (What is RCU's Usage?)
> -# http://lwn.net/Articles/264090/ (What is RCU's API?)
> +%#######################################################################
> +%
> +% "What is RCU?" LWN series.
> +%
> +% http://lwn.net/Articles/262464/ (What is RCU, Fundamentally?)
> +% http://lwn.net/Articles/263130/ (What is RCU's Usage?)
> +% http://lwn.net/Articles/264090/ (What is RCU's API?)
>
> @unpublished{PaulEMcKenney2007WhatIsRCUFundamentally
> ,Author="Paul E. McKenney and Jonathan Walpole"
> @@ -2000,10 +2000,10 @@ Revised:
> }
> }
>
> -#
> -# "What is RCU?" LWN series.
> -#
> -########################################################################
> +%
> +% "What is RCU?" LWN series.
> +%
> +%#######################################################################
>
>
> @unpublished{SteveRostedt2008dyntickRCUpatch
> @@ -2093,7 +2093,7 @@ lot of {Linux} into your technology!!!"
> ,annotation={
> Updated RCU classic algorithm. Introduced multi-tailed list
> for RCU callbacks and also pulling common code into
> - __call_rcu().
> + \_\_call\_rcu().
> }
> }
>
> @@ -2145,7 +2145,7 @@ lot of {Linux} into your technology!!!"
> }
> }
>
> -# Was PaulEMcKenney2011cyclicRCU
> +% Was PaulEMcKenney2011cyclicRCU
> @techreport{PaulEMcKenney2008cyclicRCU
> ,author="Paul E. McKenney"
> ,title="Efficient Support of Consistent Cyclic Search With Read-Copy Update"
> @@ -2353,7 +2353,7 @@ lot of {Linux} into your technology!!!"
> \url{http://lkml.org/lkml/2009/10/18/129}
> [Viewed December 29, 2009]"
> ,annotation={
> - Mathieu proposed defer_rcu() with fixed-size per-thread pool
> + Mathieu proposed defer\_rcu() with fixed-size per-thread pool
> of RCU callbacks.
> }
> }
> @@ -2413,8 +2413,8 @@ lot of {Linux} into your technology!!!"
> \url{http://www.rdrop.com/users/paulmck/RCU/SimplicityThruOptimization.2010.01.21f.pdf}
> [Viewed October 10, 2010]"
> ,annotation={
> - TREE_PREEMPT_RCU optimizations greatly simplified the old
> - PREEMPT_RCU implementation.
> + TREE\_PREEMPT\_RCU optimizations greatly simplified the old
> + PREEMPT\_RCU implementation.
> }
> }
>
> @@ -2426,7 +2426,7 @@ lot of {Linux} into your technology!!!"
> ,day="1"
> ,note="\url{https://lwn.net/Articles/371986/}";
> ,annotation={
> - CONFIG_PROVE_RCU, or at least an early version.
> + CONFIG\_PROVE\_RCU, or at least an early version.
> [Viewed June 4, 2010]
> }
> }
> @@ -2454,7 +2454,7 @@ lot of {Linux} into your technology!!!"
> \url{http://thread.gmane.org/gmane.linux.network/153338}
> [Viewed June 9, 2014]"
> ,annotation={
> - Use a pair of list_head structures to support RCU-protected
> + Use a pair of list\_head structures to support RCU-protected
> resizable hash tables.
> }
> }
> @@ -2466,7 +2466,7 @@ lot of {Linux} into your technology!!!"
> ,year="2010"
> ,annotation={
> Data-race detector incorporating RCU.
> - http://www.filesystems.org/docs/abhinav-thesis/abhinav_thesis.pdf
> + \url{http://www.filesystems.org/docs/abhinav-thesis/abhinav_thesis.pdf}
> }
> }
>
> @@ -2528,7 +2528,7 @@ lot of {Linux} into your technology!!!"
> nice about it is that it actually improves performance a lot even for
> single-threaded loads (on an SMP kernel), because it gets rid of some
> of the most expensive parts of path component lookup, which was the
> - d_lock on every component lookup. So I'm seeing improvements of 30-50%
> + d\_lock on every component lookup. So I'm seeing improvements of 30-50%
> on some seriously pathname-lookup intensive loads."
> }
> }
> @@ -2551,7 +2551,7 @@ lot of {Linux} into your technology!!!"
> ,location = {Berkeley, CA}
> ,pages = {1--6}
> ,numpages = {6}
> -,url = {http://www.usenix.org/event/hotpar11/tech/final_files/Howard.pdf}
> +,url = {http://www.usenix.org/event/hotpar11/tech/final\_files/Howard.pdf}
> ,publisher = {USENIX Association}
> ,address = {Berkeley, CA, USA}
> }
> @@ -2581,7 +2581,7 @@ lot of {Linux} into your technology!!!"
> ,year = {2011}
> ,pages = {145--158}
> ,numpages = {14}
> -,url={http://www.usenix.org/event/atc11/tech/final_files/Triplett.pdf}
> +,url={http://www.usenix.org/event/atc11/tech/final\_files/Triplett.pdf}
> ,publisher = {The USENIX Association}
> ,address = {Portland, OR USA}
> }
> @@ -2690,7 +2690,7 @@ lot of {Linux} into your technology!!!"
> \url{http://www.rdrop.com/users/paulmck/RCU/RCUdynticks.2012.02.15b.pdf}
> [Viewed March 1, 2012]"
> ,annotation={
> - RCU_FAST_NO_HZ, round 2.
> + RCU\_FAST\_NO\_HZ, round 2.
> }
> }
>
> @@ -2719,7 +2719,7 @@ lot of {Linux} into your technology!!!"
> ,note="\url{http://lwn.net/Articles/508991/}";
> ,annotation={
> A couple of simple specific compiler optimizations that motivate
> - ACCESS_ONCE().
> + ACCESS\_ONCE().
> }
> }
>
> @@ -2741,7 +2741,7 @@ lot of {Linux} into your technology!!!"
> ,month="September"
> ,day="17"
> ,year="2012"
> -,url=http://rdrop.com/users/paulmck/techreports/survey.2012.09.17a.pdf
> +,url={http://rdrop.com/users/paulmck/techreports/survey.2012.09.17a.pdf}
> ,note="Technical report paulmck.2012.09.17"
> ,annotation={
> Overview of the first variant of no-CBs CPUs for RCU.
> @@ -2807,6 +2807,6 @@ lot of {Linux} into your technology!!!"
> ,year="2013"
> ,note="\url{http://lwn.net/Articles/541037/}";
> ,annotation={
> - Getting rid of TINY_PREEMPT_RCU.
> + Getting rid of TINY\_PREEMPT\_RCU.
> }
> }
> --
> 2.25.2
>