On Tue, Apr 21, 2020 at 10:43:29AM -0700, Paul E. McKenney wrote: > 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? OK, I should have read the next patch in the series, where you convert into a Sphinx-compatible bibliography. Except that you had to convert the bibtex entries by hand to produce the Sphinx-compatible entries? That will get a bit ugly when it comes time to add more entries. Or was the conversion of bibliography entries automated? 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 > >