linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Josh Triplett <josh@joshtriplett.org>
To: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
Cc: linux-kernel@vger.kernel.org, mingo@elte.hu,
	laijs@cn.fujitsu.com, dipankar@in.ibm.com,
	akpm@linux-foundation.org, mathieu.desnoyers@polymtl.ca,
	niv@us.ibm.com, tglx@linutronix.de, peterz@infradead.org,
	rostedt@goodmis.org, Valdis.Kletnieks@vt.edu,
	dhowells@redhat.com, eric.dumazet@gmail.com, darren@dvhart.com,
	fweisbec@gmail.com, patches@linaro.org
Subject: Re: [PATCH RFC tip/core/rcu 01/41] rcu: Bring RTFP.txt up to date.
Date: Wed, 1 Feb 2012 16:18:14 -0800	[thread overview]
Message-ID: <20120202001814.GA29058@leaf> (raw)
In-Reply-To: <1328125319-5205-1-git-send-email-paulmck@linux.vnet.ibm.com>

On Wed, Feb 01, 2012 at 11:41:19AM -0800, Paul E. McKenney wrote:
> Add publications from 2010 and 2011 to RTFP.txt.

As well as numerous older BibTeX entries, and annotations for existing
entries.

>  This document describes RCU-related publications, and is followed by
>  the corresponding bibtex entries.  A number of the publications may
> -be found at http://www.rdrop.com/users/paulmck/RCU/.
> +be found at http://www.rdrop.com/users/paulmck/RCU/.  For others, browsers
> +and search engines will usually find what you are looking for.
>  
>  The first thing resembling RCU was published in 1980, when Kung and Lehman
>  [Kung80] recommended use of a garbage collector to defer destruction
> @@ -160,7 +161,25 @@ which Mathieu Desnoyers is now maintaining [MathieuDesnoyers2009URCU]
>  [MathieuDesnoyersPhD].  TINY_RCU [PaulEMcKenney2009BloatWatchRCU] made
>  its appearance, as did expedited RCU [PaulEMcKenney2009expeditedRCU].
>  The problem of resizeable RCU-protected hash tables may now be on a path
> -to a solution [JoshTriplett2009RPHash].
> +to a solution [JoshTriplett2009RPHash].  A few academic researchers are now
> +using RCU to solve their parallel problems [HariKannan2009DynamicAnalysisRCU].
> +
> +2010 produced a simpler preemptible-RCU implementation based on TREE_RCU
> +[PaulEMcKenney2010SimpleOptRCU], lockdep-RCU [PaulEMcKenney2010LockdepRCU],
> +another resizeable RCU-protected hash table [HerbertXu2010RCUResizeHash]
> +(this one consuming more memory, but allowing arbitrary changes in hash
> +function, as required for DoS avoidance in the networking code), realization
> +of the 2009 resizeable hash table [JoshTriplett2010RPHash], an update on the
> +RCU API [PaulEMcKenney2010RCUAPI].

JoshTriplett2010RPHash refers to the OSR paper, which just provided a
node-move algorithm, not a resizeable hash table.  Likewise,
JoshTriplett2009RPHash just provides the node-move algorithm.  Only the
2011 USENIX ATC paper covered resizeable RCU-protected hash tables.

> @@ -173,6 +192,14 @@ Bibtex Entries
>  ,volume="5"
>  ,number="3"
>  ,pages="354-382"
> +,note="Available:
> +\url{http://portal.acm.org/citation.cfm?id=320619&dl=GUIDE,}
> +[Viewed December 3, 2007]"

I don't think it adds any value here to use \url{} to point to an ACM
paywall page.  The journal, volume, number, and title already provide
enough information for anyone to grab the article from their source of
choice.

> +@article{BarbaraLiskov1988ArgusCACM
> +,author = {Barbara Liskov}
> +,title = {Distributed programming in {Argus}}
> +,journal = {Commun. ACM}
> +,volume = {31}
> +,number = {3}
> +,year = {1988}
> +,issn = {0001-0782}
> +,pages = {300--312}
> +,doi = {http://doi.acm.org/10.1145/42392.42399}

Similarly I don't think a DOI provides any value; it just redirects to
the same ACM paywall.  The ACM sticks one into the BibTeX entries they
autogenerate, but I'd suggest stripping it out.  This goes for the
several other entries in this patch that add DOI URLs of various forms.

> +@unpublished{PaulEMcKenney2007WG21DDOatomics
> +,Author="Paul E. McKenney and Hans-J. Boehm and Lawrence Crowl"
> +,Title="C++ Data-Dependency Ordering: Atomics and Memory Model"
> +,month="August"
> +,day="3"
> +,year="2007"
> +,note="Available:
> +\url{http://open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2664.htm}
> +[Viewed December 7, 2009]"
> +,annotation="
> +	RCU for C++, parts 1 and 2.
> +"
> +}
> +
> +@unpublished{PaulEMcKenney2007WG21DDOannotation
> +,Author="Paul E. McKenney and Lawrence Crowl"
> +,Title="C++ Data-Dependency Ordering: Function Annotation"
> +,month="September"
> +,day="18"
> +,year="2008"
> +,note="Available:
> +\url{http://open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2782.htm}
> +[Viewed December 7, 2009]"
> +,annotation="
> +	RCU for C++, part 2, updated many times.
> +"
> +}

Considering their status as published documents of a standards
organization, why do these two use @unpublished?  (The same goes for
many other entries currently using @unpublished, but it seems
particlarly notable here.)

> +# MathieuDesnoyers2007call_rcu_schedNeeded
> +@unpublished{MathieuDesnoyers2007call:rcu:schedNeeded

Why the comment here?

>  @article{DinakarGuniguntala2008IBMSysJ
>  ,author="D. Guniguntala and P. E. McKenney and J. Triplett and J. Walpole"
>  ,title="The read-copy-update mechanism for supporting real-time applications on shared-memory multiprocessor systems with {Linux}"
>  ,Year="2008"
> -,Month="April"
> +,Month="May"

This article appeared in the issue labeled "April-June".  All of the
references I've found for it say "April".  You could sensibly write
either month="April" or month="April-June" (yes, you can do that in
BibTeX), but I don't think month="May" makes sense.

>  ,journal="IBM Systems Journal"
>  ,volume="47"
>  ,number="2"
> -,pages="@@-@@"
> +,pages="221-236"
> +,note="Available:
> +\url{http://www.research.ibm.com/journal/sj/472/guniguntala.pdf}
> +[Viewed April 24, 2008]"

That URL doesn't actually work anymore.

> +@techreport{PaulEMcKenney2011cyclicRCU
> +,author="Paul E. McKenney"
> +,title="Efficient Support of Consistent Cyclic Search With Read-Copy Update"
> +,institution="US Patent and Trademark Office"
> +,address="Washington, DC"
> +,year="2008"

Why does this use the tag PaulEMcKenney2011cyclicRCU given the year of
2008?

> +@unpublished{EvgeniyPolyakov2009EllipticsNetwork
> +,Author="Evgeniy Polyakov"
> +,Title="The Elliptics Network"
> +,month="April"
> +,day="17"
> +,year="2009"
> +,note="Available:
> +\url{http://www.ioremap.net/projects/elliptics}
> +[Viewed April 30, 2009]"
> +,annotation="
> +	Distributed hash table with transactions, using elliptic
> +	hash functions to distribute data.
> +"
> +}

Could you add a note in this annotation about how this relates to RCU,
and thus why it appears in this bibliography?

>  @unpublished{JoshTriplett2009RPHash
>  ,Author="Josh Triplett"
>  ,Title="Scalable concurrent hash tables via relativistic programming"
> @@ -860,6 +2146,7 @@ Revised:
>  ,note="Linux Plumbers Conference presentation"
>  ,annotation="
>  	RP fun with hash tables.
> +	Superseded by JoshTriplett2010RPHash

No, the OSR paper doesn't supercede the LPC presentation.  Also, not
@unpublished (which applies to quite a few other entries here, but in
particular this one).

> +@article{JoshTriplett2010RPHash
> +,author="Josh Triplett and Paul E. McKenney and Jonathan Walpole"
> +,title="Scalable Concurrent Hash Tables via Relativistic Programming"
> +,journal="ACM Operating Systems Review"
> +,year=2010
> +,volume=44
> +,number=3
> +,month="July"
> +,annotation={
> +	RP fun with hash tables.
> +	http://portal.acm.org/citation.cfm?id=1842733.1842750
> +}}

Same comment about ACM URLs: not useful.

> +@techreport{JoshTriplett2011RPScalableCorrectOrdering
> +,author = {Josh Triplett and Philip W. Howard and Paul E. McKenney and Jonathan Walpole}
> +,title = {Scalable Correct Memory Ordering via Relativistic Programming}
> +,year = {2011}
> +,number = {11-03}
> +,institution = {Portland State University}
> +,note = {\url{http://www.cs.pdx.edu/pdfs/tr1103.pdf}}
> +}

I'd suggest dropping this tech report in favor of the much better
rewritten version that'll become available this month. :)

- Josh Triplett

  parent reply	other threads:[~2012-02-02  0:18 UTC|newest]

Thread overview: 104+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-02-01 19:41 [PATCH RFC 0/41] RCU commits for 3.4 Paul E. McKenney
2012-02-01 19:41 ` [PATCH RFC tip/core/rcu 01/41] rcu: Bring RTFP.txt up to date Paul E. McKenney
2012-02-01 19:41   ` [PATCH RFC tip/core/rcu 02/41] rcu: Improve synchronize_rcu() diagnostics Paul E. McKenney
2012-02-01 19:41   ` [PATCH RFC tip/core/rcu 03/41] rcu: Add lockdep-RCU checks for simple self-deadlock Paul E. McKenney
2012-02-02  0:55     ` Josh Triplett
2012-02-02 16:20       ` Paul E. McKenney
2012-02-02 19:56         ` Josh Triplett
2012-02-02 20:42           ` Paul E. McKenney
2012-02-03  9:04             ` Josh Triplett
2012-02-03 18:05               ` Paul E. McKenney
2012-02-01 19:41   ` [PATCH RFC tip/core/rcu 04/41] rcu: Add diagnostic for misaligned rcu_head structures Paul E. McKenney
2012-02-02  1:00     ` Josh Triplett
2012-02-02 16:22       ` Paul E. McKenney
2012-02-02 20:11         ` Josh Triplett
2012-02-02  1:01     ` Josh Triplett
2012-02-02 16:27       ` Paul E. McKenney
2012-02-01 19:41   ` [PATCH RFC tip/core/rcu 05/41] rcu: Avoid waking up CPUs having only kfree_rcu() callbacks Paul E. McKenney
2012-02-02  1:15     ` Josh Triplett
2012-02-02 16:34       ` Paul E. McKenney
2012-02-01 19:41   ` [PATCH RFC tip/core/rcu 06/41] rcu: Move RCU_TRACE to lib/Kconfig.debug Paul E. McKenney
2012-02-02  1:39     ` Josh Triplett
2012-02-02 17:05       ` Paul E. McKenney
2012-02-01 19:41   ` [PATCH RFC tip/core/rcu 07/41] s390: Convert call_rcu() to kfree_rcu() Paul E. McKenney
2012-02-01 19:41   ` [PATCH RFC tip/core/rcu 08/41] tcm_fc: " Paul E. McKenney
2012-02-01 19:41   ` [PATCH RFC tip/core/rcu 09/41] ipv4: " Paul E. McKenney
2012-02-01 19:49     ` David Miller
2012-02-01 19:41   ` [PATCH RFC tip/core/rcu 10/41] " Paul E. McKenney
2012-02-01 19:50     ` David Miller
2012-02-02  0:24     ` Josh Triplett
2012-02-02 15:56       ` Paul E. McKenney
2012-02-01 19:41   ` [PATCH RFC tip/core/rcu 11/41] mac80211: " Paul E. McKenney
2012-02-01 19:41   ` [PATCH RFC tip/core/rcu 12/41] rcu: Simplify offline processing Paul E. McKenney
2012-02-01 19:41   ` [PATCH RFC tip/core/rcu 13/41] rcu: Make rcutorture flag online/offline failures Paul E. McKenney
2012-02-02  1:46     ` Josh Triplett
2012-02-02 17:08       ` Paul E. McKenney
2012-02-01 19:41   ` [PATCH RFC tip/core/rcu 14/41] rcu: Limit lazy-callback duration Paul E. McKenney
2012-02-02  2:03     ` Josh Triplett
2012-02-02 17:13       ` Paul E. McKenney
2012-02-03  4:07         ` Josh Triplett
2012-02-03  5:54           ` Paul E. McKenney
2012-02-01 19:41   ` [PATCH RFC tip/core/rcu 15/41] rcu: Check for callback invocation from offline CPUs Paul E. McKenney
2012-02-01 19:41   ` [PATCH RFC tip/core/rcu 16/41] rcu: Don't make callbacks go through second full grace period Paul E. McKenney
2012-02-01 19:41   ` [PATCH RFC tip/core/rcu 17/41] rcu: Remove single-rcu_node optimization in rcu_start_gp() Paul E. McKenney
2012-02-02  2:13     ` Josh Triplett
2012-02-02 17:16       ` Paul E. McKenney
2012-02-01 19:41   ` [PATCH RFC tip/core/rcu 18/41] rcu: Protect __rcu_read_unlock() against scheduler-using irq handlers Paul E. McKenney
2012-02-01 19:41   ` [PATCH RFC tip/core/rcu 19/41] rcu: Streamline code produced by __rcu_read_unlock() Paul E. McKenney
2012-02-01 19:41   ` [PATCH RFC tip/core/rcu 20/41] rcu: Prevent RCU callbacks from executing before scheduler initialized Paul E. McKenney
2012-02-01 19:41   ` [PATCH RFC tip/core/rcu 21/41] rcu: Inform RCU of irq_exit() activity Paul E. McKenney
2012-02-02  2:30     ` Josh Triplett
2012-02-02 17:30       ` Paul E. McKenney
2012-02-01 19:41   ` [PATCH RFC tip/core/rcu 22/41] rcu: Simplify unboosting checks Paul E. McKenney
2012-02-02  2:38     ` Josh Triplett
2012-02-02 17:48       ` Paul E. McKenney
2012-02-03  4:23         ` Josh Triplett
2012-02-01 19:41   ` [PATCH RFC tip/core/rcu 23/41] rcu: Clean up straggling rcu_preempt_needs_cpu() name Paul E. McKenney
2012-02-01 19:41   ` [PATCH RFC tip/core/rcu 24/41] rcu: Check for idle-loop entry while in RCU read-side critical section Paul E. McKenney
2012-02-02  5:13     ` Josh Triplett
2012-02-02 17:50       ` Paul E. McKenney
2012-02-01 19:41   ` [PATCH RFC tip/core/rcu 25/41] rcu: Make rcu_sleep_check() also check rcu_lock_map Paul E. McKenney
2012-02-01 19:41   ` [PATCH RFC tip/core/rcu 26/41] rcu: Note that rcu_access_pointer() can be used for teardown Paul E. McKenney
2012-02-01 19:41   ` [PATCH RFC tip/core/rcu 27/41] rcu: Remove #ifdef CONFIG_SMP from TREE_RCU Paul E. McKenney
2012-02-01 19:41   ` [PATCH RFC tip/core/rcu 28/41] rcu: Set RCU CPU stall times via sysfs Paul E. McKenney
2012-02-01 19:41   ` [PATCH RFC tip/core/rcu 29/41] rcu: Print scheduling-clock information on RCU CPU stall-warning messages Paul E. McKenney
2012-02-01 19:41   ` [PATCH RFC tip/core/rcu 30/41] rcutorture: Permit holding off CPU-hotplug operations during boot Paul E. McKenney
2012-02-02  5:43     ` Josh Triplett
2012-02-02 17:56       ` Paul E. McKenney
2012-02-01 19:41   ` [PATCH RFC tip/core/rcu 31/41] rcu: Add CPU-stall capability to rcutorture Paul E. McKenney
2012-02-02  5:53     ` Josh Triplett
2012-02-02  9:15       ` Julia Lawall
2012-02-02 18:03         ` Paul E. McKenney
2012-02-02 18:00       ` Paul E. McKenney
2012-02-01 19:41   ` [PATCH RFC tip/core/rcu 32/41] rcu: Update stall-warning documentation Paul E. McKenney
2012-02-02  5:56     ` Josh Triplett
2012-02-02 18:18       ` Paul E. McKenney
2012-02-03  5:42         ` Josh Triplett
2012-02-03  5:58           ` Paul E. McKenney
2012-02-01 19:41   ` [PATCH RFC tip/core/rcu 33/41] rcu: Make boolean rcutorture parameters be of type "bool" Paul E. McKenney
2012-02-01 19:41   ` [PATCH RFC tip/core/rcu 34/41] rcu: Check for illegal use of RCU from offlined CPUs Paul E. McKenney
2012-02-01 19:41   ` [PATCH RFC tip/core/rcu 35/41] rcu: Move synchronize_sched_expedited() to rcutree.c Paul E. McKenney
2012-02-01 19:41   ` [PATCH RFC tip/core/rcu 36/41] rcu: No interrupt disabling for rcu_prepare_for_idle() Paul E. McKenney
2012-02-01 19:41   ` [PATCH RFC tip/core/rcu 37/41] lockdep: Add CPU-idle/offline warning to lockdep-RCU splat Paul E. McKenney
2012-02-02  6:07     ` Josh Triplett
2012-02-02 18:30       ` Paul E. McKenney
2012-02-03  6:12         ` Josh Triplett
2012-02-01 19:41   ` [PATCH RFC tip/core/rcu 38/41] rcu: Rework detection of use of RCU by offline CPUs Paul E. McKenney
2012-02-02  6:11     ` Josh Triplett
2012-02-02 18:31       ` Paul E. McKenney
2012-02-03  9:17         ` Josh Triplett
2012-02-01 19:41   ` [PATCH RFC tip/core/rcu 39/41] rcu: Wait at least a jiffy before declaring a CPU to be offline Paul E. McKenney
2012-02-02  6:12     ` Josh Triplett
2012-02-02 18:27       ` Paul E. McKenney
2012-02-01 19:41   ` [PATCH RFC tip/core/rcu 40/41] rcu: Call out dangers of expedited RCU primitives Paul E. McKenney
2012-02-01 19:41   ` [PATCH RFC tip/core/rcu 41/41] rcu: Trace only after NULL-pointer check Paul E. McKenney
2012-02-02  0:18   ` Josh Triplett [this message]
2012-02-02  1:33     ` [PATCH RFC tip/core/rcu 01/41] rcu: Bring RTFP.txt up to date Paul E. McKenney
2012-02-02  2:01       ` Josh Triplett
2012-02-02 16:47         ` Paul E. McKenney
2012-02-02 22:32           ` Josh Triplett
2012-02-03 18:00             ` Paul E. McKenney
2012-02-02 22:47 ` [PATCH RFC 0/41] RCU commits for 3.4 Kevin Hilman
2012-02-02 23:58   ` Paul E. McKenney
2012-02-03 19:54     ` Kevin Hilman
2012-02-06  7:04       ` Paul E. McKenney

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=20120202001814.GA29058@leaf \
    --to=josh@joshtriplett.org \
    --cc=Valdis.Kletnieks@vt.edu \
    --cc=akpm@linux-foundation.org \
    --cc=darren@dvhart.com \
    --cc=dhowells@redhat.com \
    --cc=dipankar@in.ibm.com \
    --cc=eric.dumazet@gmail.com \
    --cc=fweisbec@gmail.com \
    --cc=laijs@cn.fujitsu.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mathieu.desnoyers@polymtl.ca \
    --cc=mingo@elte.hu \
    --cc=niv@us.ibm.com \
    --cc=patches@linaro.org \
    --cc=paulmck@linux.vnet.ibm.com \
    --cc=peterz@infradead.org \
    --cc=rostedt@goodmis.org \
    --cc=tglx@linutronix.de \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).