Commit 6ae37718 authored by Paul E. McKenney's avatar Paul E. McKenney

rcu: Update RTFP documentation

Note that this commit also updates the formatting of serveral of the
bibtex entries to conform to that of my .bib files.  I started
accumulating entries back in the 1980s, back when bibtex insisted
that comma (",") was a separator, not a terminator.  This rule forced
commas to the fronts of lines.  25 years later, bibtex allows commas
to be terminators, but I am too lazy to rework all my .bib files.
Keeping the same format as my .bib files allows my to simply
incorporate my RCU.bib file into Documentation/RCU/RTFP.txt, which
is much easier than my earlier practice of keeping track of what
had changed and adding individual entries.  (I sometimes find relevant
papers that were published some years back, for example.)

In addition, this change adds entries for papers published in the
last year or so.
Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Reviewed-by: default avatarJosh Triplett <josh@joshtriplett.org>
parent d84297c9
...@@ -39,7 +39,7 @@ in read-mostly situations. This algorithm does take pains to avoid ...@@ -39,7 +39,7 @@ in read-mostly situations. This algorithm does take pains to avoid
write-side contention and parallelize the other write-side overheads by write-side contention and parallelize the other write-side overheads by
providing a fine-grained locking design, however, it would be interesting providing a fine-grained locking design, however, it would be interesting
to see how much of the performance advantage reported in 1990 remains to see how much of the performance advantage reported in 1990 remains
in 2004. today.
At about this same time, Adams [Adams91] described ``chaotic relaxation'', At about this same time, Adams [Adams91] described ``chaotic relaxation'',
where the normal barriers between successive iterations of convergent where the normal barriers between successive iterations of convergent
...@@ -86,9 +86,9 @@ DYNIX/ptx kernel. The corresponding conference paper appeared in 1998 ...@@ -86,9 +86,9 @@ DYNIX/ptx kernel. The corresponding conference paper appeared in 1998
[McKenney98]. [McKenney98].
In 1999, the Tornado and K42 groups described their "generations" In 1999, the Tornado and K42 groups described their "generations"
mechanism, which quite similar to RCU [Gamsa99]. These operating systems mechanism, which is quite similar to RCU [Gamsa99]. These operating
made pervasive use of RCU in place of "existence locks", which greatly systems made pervasive use of RCU in place of "existence locks", which
simplifies locking hierarchies. greatly simplifies locking hierarchies and helps avoid deadlocks.
2001 saw the first RCU presentation involving Linux [McKenney01a] 2001 saw the first RCU presentation involving Linux [McKenney01a]
at OLS. The resulting abundance of RCU patches was presented the at OLS. The resulting abundance of RCU patches was presented the
...@@ -106,8 +106,11 @@ these techniques still impose significant read-side overhead in the ...@@ -106,8 +106,11 @@ these techniques still impose significant read-side overhead in the
form of memory barriers. Researchers at Sun worked along similar lines form of memory barriers. Researchers at Sun worked along similar lines
in the same timeframe [HerlihyLM02]. These techniques can be thought in the same timeframe [HerlihyLM02]. These techniques can be thought
of as inside-out reference counts, where the count is represented by the of as inside-out reference counts, where the count is represented by the
number of hazard pointers referencing a given data structure (rather than number of hazard pointers referencing a given data structure rather than
the more conventional counter field within the data structure itself). the more conventional counter field within the data structure itself.
The key advantage of inside-out reference counts is that they can be
stored in immortal variables, thus allowing races between access and
deletion to be avoided.
By the same token, RCU can be thought of as a "bulk reference count", By the same token, RCU can be thought of as a "bulk reference count",
where some form of reference counter covers all reference by a given CPU where some form of reference counter covers all reference by a given CPU
...@@ -179,7 +182,25 @@ tree using software transactional memory to protect concurrent updates ...@@ -179,7 +182,25 @@ tree using software transactional memory to protect concurrent updates
(strange, but true!) [PhilHoward2011RCUTMRBTree], yet another variant of (strange, but true!) [PhilHoward2011RCUTMRBTree], yet another variant of
RCU-protected resizeable hash tables [Triplett:2011:RPHash], the 3.0 RCU RCU-protected resizeable hash tables [Triplett:2011:RPHash], the 3.0 RCU
trainwreck [PaulEMcKenney2011RCU3.0trainwreck], and Neil Brown's "Meet the trainwreck [PaulEMcKenney2011RCU3.0trainwreck], and Neil Brown's "Meet the
Lockers" LWN article [NeilBrown2011MeetTheLockers]. Lockers" LWN article [NeilBrown2011MeetTheLockers]. Some academic
work looked at debugging uses of RCU [Seyster:2011:RFA:2075416.2075425].
In 2012, Josh Triplett received his Ph.D. with his dissertation
covering RCU-protected resizable hash tables and the relationship
between memory barriers and read-side traversal order: If the updater
is making changes in the opposite direction from the read-side traveral
order, the updater need only execute a memory-barrier instruction,
but if in the same direction, the updater needs to wait for a grace
period between the individual updates [JoshTriplettPhD]. Also in 2012,
after seventeen years of attempts, an RCU paper made it into a top-flight
academic journal, IEEE Transactions on Parallel and Distributed Systems
[MathieuDesnoyers2012URCU]. A group of researchers in Spain applied
user-level RCU to crowd simulation [GuillermoVigueras2012RCUCrowd], and
another group of researchers in Europe produced a formal description of
RCU based on separation logic [AlexeyGotsman2012VerifyGraceExtended],
which was published in the 2013 European Symposium on Programming
[AlexeyGotsman2013ESOPRCU].
Bibtex Entries Bibtex Entries
...@@ -193,13 +214,12 @@ Bibtex Entries ...@@ -193,13 +214,12 @@ Bibtex Entries
,volume="5" ,volume="5"
,number="3" ,number="3"
,pages="354-382" ,pages="354-382"
,note="Available:
\url{http://portal.acm.org/citation.cfm?id=320619&dl=GUIDE,}
[Viewed December 3, 2007]"
,annotation={ ,annotation={
Use garbage collector to clean up data after everyone is done with it. Use garbage collector to clean up data after everyone is done with it.
. .
Oldest use of something vaguely resembling RCU that I have found. Oldest use of something vaguely resembling RCU that I have found.
http://portal.acm.org/citation.cfm?id=320619&dl=GUIDE,
[Viewed December 3, 2007]
} }
} }
...@@ -309,7 +329,7 @@ for Programming Languages and Operating Systems}" ...@@ -309,7 +329,7 @@ for Programming Languages and Operating Systems}"
,doi = {http://doi.acm.org/10.1145/42392.42399} ,doi = {http://doi.acm.org/10.1145/42392.42399}
,publisher = {ACM} ,publisher = {ACM}
,address = {New York, NY, USA} ,address = {New York, NY, USA}
,annotation= { ,annotation={
At the top of page 307: "Conflicts with deposits and withdrawals At the top of page 307: "Conflicts with deposits and withdrawals
are necessary if the reported total is to be up to date. They are necessary if the reported total is to be up to date. They
could be avoided by having total return a sum that is slightly could be avoided by having total return a sum that is slightly
...@@ -346,8 +366,9 @@ for Programming Languages and Operating Systems}" ...@@ -346,8 +366,9 @@ for Programming Languages and Operating Systems}"
} }
} }
@Book{Adams91 # Was Adams91, see also syncrefs.bib.
,Author="Gregory R. Adams" @Book{Andrews91textbook
,Author="Gregory R. Andrews"
,title="Concurrent Programming, Principles, and Practices" ,title="Concurrent Programming, Principles, and Practices"
,Publisher="Benjamin Cummins" ,Publisher="Benjamin Cummins"
,Year="1991" ,Year="1991"
...@@ -398,39 +419,39 @@ for Programming Languages and Operating Systems}" ...@@ -398,39 +419,39 @@ for Programming Languages and Operating Systems}"
} }
} }
@conference{Pu95a, @conference{Pu95a
Author = "Calton Pu and Tito Autrey and Andrew Black and Charles Consel and ,Author = "Calton Pu and Tito Autrey and Andrew Black and Charles Consel and
Crispin Cowan and Jon Inouye and Lakshmi Kethana and Jonathan Walpole and Crispin Cowan and Jon Inouye and Lakshmi Kethana and Jonathan Walpole and
Ke Zhang", Ke Zhang"
Title = "Optimistic Incremental Specialization: Streamlining a Commercial ,Title = "Optimistic Incremental Specialization: Streamlining a Commercial
Operating System", ,Operating System"
Booktitle = "15\textsuperscript{th} ACM Symposium on ,Booktitle = "15\textsuperscript{th} ACM Symposium on
Operating Systems Principles (SOSP'95)", ,Operating Systems Principles (SOSP'95)"
address = "Copper Mountain, CO", ,address = "Copper Mountain, CO"
month="December", ,month="December"
year="1995", ,year="1995"
pages="314-321", ,pages="314-321"
annotation=" ,annotation={
Uses a replugger, but with a flag to signal when people are Uses a replugger, but with a flag to signal when people are
using the resource at hand. Only one reader at a time. using the resource at hand. Only one reader at a time.
" }
} }
@conference{Cowan96a, @conference{Cowan96a
Author = "Crispin Cowan and Tito Autrey and Charles Krasic and ,Author = "Crispin Cowan and Tito Autrey and Charles Krasic and
Calton Pu and Jonathan Walpole", ,Calton Pu and Jonathan Walpole"
Title = "Fast Concurrent Dynamic Linking for an Adaptive Operating System", ,Title = "Fast Concurrent Dynamic Linking for an Adaptive Operating System"
Booktitle = "International Conference on Configurable Distributed Systems ,Booktitle = "International Conference on Configurable Distributed Systems
(ICCDS'96)", (ICCDS'96)"
address = "Annapolis, MD", ,address = "Annapolis, MD"
month="May", ,month="May"
year="1996", ,year="1996"
pages="108", ,pages="108"
isbn="0-8186-7395-8", ,isbn="0-8186-7395-8"
annotation=" ,annotation={
Uses a replugger, but with a counter to signal when people are Uses a replugger, but with a counter to signal when people are
using the resource at hand. Allows multiple readers. using the resource at hand. Allows multiple readers.
" }
} }
@techreport{Slingwine95 @techreport{Slingwine95
...@@ -493,14 +514,13 @@ Problems" ...@@ -493,14 +514,13 @@ Problems"
,Year="1998" ,Year="1998"
,pages="509-518" ,pages="509-518"
,Address="Las Vegas, NV" ,Address="Las Vegas, NV"
,note="Available:
\url{http://www.rdrop.com/users/paulmck/RCU/rclockpdcsproof.pdf}
[Viewed December 3, 2007]"
,annotation={ ,annotation={
Describes and analyzes RCU mechanism in DYNIX/ptx. Describes Describes and analyzes RCU mechanism in DYNIX/ptx. Describes
application to linked list update and log-buffer flushing. application to linked list update and log-buffer flushing.
Defines 'quiescent state'. Includes both measured and analytic Defines 'quiescent state'. Includes both measured and analytic
evaluation. evaluation.
http://www.rdrop.com/users/paulmck/RCU/rclockpdcsproof.pdf
[Viewed December 3, 2007]
} }
} }
...@@ -514,13 +534,12 @@ Operating System Design and Implementation}" ...@@ -514,13 +534,12 @@ Operating System Design and Implementation}"
,Year="1999" ,Year="1999"
,pages="87-100" ,pages="87-100"
,Address="New Orleans, LA" ,Address="New Orleans, LA"
,note="Available:
\url{http://www.usenix.org/events/osdi99/full_papers/gamsa/gamsa.pdf}
[Viewed August 30, 2006]"
,annotation={ ,annotation={
Use of RCU-like facility in K42/Tornado. Another independent Use of RCU-like facility in K42/Tornado. Another independent
invention of RCU. invention of RCU.
See especially pages 7-9 (Section 5). See especially pages 7-9 (Section 5).
http://www.usenix.org/events/osdi99/full_papers/gamsa/gamsa.pdf
[Viewed August 30, 2006]
} }
} }
...@@ -611,9 +630,9 @@ Orran Krieger and Rusty Russell and Dipankar Sarma and Maneesh Soni" ...@@ -611,9 +630,9 @@ Orran Krieger and Rusty Russell and Dipankar Sarma and Maneesh Soni"
,note="Available: ,note="Available:
\url{http://marc.theaimsgroup.com/?l=linux-kernel&m=100259266316456&w=2} \url{http://marc.theaimsgroup.com/?l=linux-kernel&m=100259266316456&w=2}
[Viewed June 23, 2004]" [Viewed June 23, 2004]"
,annotation=" ,annotation={
Memory-barrier and Alpha thread. 100 messages, not too bad... Memory-barrier and Alpha thread. 100 messages, not too bad...
" }
} }
@unpublished{Spraul01 @unpublished{Spraul01
...@@ -624,10 +643,10 @@ Orran Krieger and Rusty Russell and Dipankar Sarma and Maneesh Soni" ...@@ -624,10 +643,10 @@ Orran Krieger and Rusty Russell and Dipankar Sarma and Maneesh Soni"
,note="Available: ,note="Available:
\url{http://marc.theaimsgroup.com/?l=linux-kernel&m=100264675012867&w=2} \url{http://marc.theaimsgroup.com/?l=linux-kernel&m=100264675012867&w=2}
[Viewed June 23, 2004]" [Viewed June 23, 2004]"
,annotation=" ,annotation={
Suggested burying memory barriers in Linux's list-manipulation Suggested burying memory barriers in Linux's list-manipulation
primitives. primitives.
" }
} }
@unpublished{LinusTorvalds2001a @unpublished{LinusTorvalds2001a
...@@ -638,6 +657,8 @@ Orran Krieger and Rusty Russell and Dipankar Sarma and Maneesh Soni" ...@@ -638,6 +657,8 @@ Orran Krieger and Rusty Russell and Dipankar Sarma and Maneesh Soni"
,note="Available: ,note="Available:
\url{http://lkml.org/lkml/2001/10/13/105} \url{http://lkml.org/lkml/2001/10/13/105}
[Viewed August 21, 2004]" [Viewed August 21, 2004]"
,annotation={
}
} }
@unpublished{Blanchard02a @unpublished{Blanchard02a
...@@ -657,10 +678,10 @@ Orran Krieger and Rusty Russell and Dipankar Sarma and Maneesh Soni" ...@@ -657,10 +678,10 @@ Orran Krieger and Rusty Russell and Dipankar Sarma and Maneesh Soni"
,Month="June" ,Month="June"
,Year="2002" ,Year="2002"
,pages="289-300" ,pages="289-300"
,annotation=" ,annotation={
Measured scalability of Linux 2.4 kernel's directory-entry cache Measured scalability of Linux 2.4 kernel's directory-entry cache
(dcache), and measured some scalability enhancements. (dcache), and measured some scalability enhancements.
" }
} }
@Conference{McKenney02a @Conference{McKenney02a
...@@ -674,10 +695,10 @@ Andrea Arcangeli and Andi Kleen and Orran Krieger and Rusty Russell" ...@@ -674,10 +695,10 @@ Andrea Arcangeli and Andi Kleen and Orran Krieger and Rusty Russell"
,note="Available: ,note="Available:
\url{http://www.linux.org.uk/~ajh/ols2002_proceedings.pdf.gz} \url{http://www.linux.org.uk/~ajh/ols2002_proceedings.pdf.gz}
[Viewed June 23, 2004]" [Viewed June 23, 2004]"
,annotation=" ,annotation={
Presented and compared a number of RCU implementations for the Presented and compared a number of RCU implementations for the
Linux kernel. Linux kernel.
" }
} }
@unpublished{Sarma02a @unpublished{Sarma02a
...@@ -688,9 +709,9 @@ Andrea Arcangeli and Andi Kleen and Orran Krieger and Rusty Russell" ...@@ -688,9 +709,9 @@ Andrea Arcangeli and Andi Kleen and Orran Krieger and Rusty Russell"
,note="Available: ,note="Available:
\url{http://marc.theaimsgroup.com/?l=linux-kernel&m=102645767914212&w=2} \url{http://marc.theaimsgroup.com/?l=linux-kernel&m=102645767914212&w=2}
[Viewed June 23, 2004]" [Viewed June 23, 2004]"
,annotation=" ,annotation={
Compare fastwalk and RCU for dcache. RCU won. Compare fastwalk and RCU for dcache. RCU won.
" }
} }
@unpublished{Barbieri02 @unpublished{Barbieri02
...@@ -701,9 +722,9 @@ Andrea Arcangeli and Andi Kleen and Orran Krieger and Rusty Russell" ...@@ -701,9 +722,9 @@ Andrea Arcangeli and Andi Kleen and Orran Krieger and Rusty Russell"
,note="Available: ,note="Available:
\url{http://marc.theaimsgroup.com/?l=linux-kernel&m=103082050621241&w=2} \url{http://marc.theaimsgroup.com/?l=linux-kernel&m=103082050621241&w=2}
[Viewed: June 23, 2004]" [Viewed: June 23, 2004]"
,annotation=" ,annotation={
Suggested RCU for vfs\_shared\_cred. Suggested RCU for vfs\_shared\_cred.
" }
} }
@unpublished{Dickins02a @unpublished{Dickins02a
...@@ -722,10 +743,10 @@ Andrea Arcangeli and Andi Kleen and Orran Krieger and Rusty Russell" ...@@ -722,10 +743,10 @@ Andrea Arcangeli and Andi Kleen and Orran Krieger and Rusty Russell"
,note="Available: ,note="Available:
\url{http://marc.theaimsgroup.com/?l=linux-kernel&m=103462075416638&w=2} \url{http://marc.theaimsgroup.com/?l=linux-kernel&m=103462075416638&w=2}
[Viewed June 23, 2004]" [Viewed June 23, 2004]"
,annotation=" ,annotation={
Performance of dcache RCU on kernbench for 16x NUMA-Q and 1x, Performance of dcache RCU on kernbench for 16x NUMA-Q and 1x,
2x, and 4x systems. RCU does no harm, and helps on 16x. 2x, and 4x systems. RCU does no harm, and helps on 16x.
" }
} }
@unpublished{LinusTorvalds2003a @unpublished{LinusTorvalds2003a
...@@ -736,14 +757,14 @@ Andrea Arcangeli and Andi Kleen and Orran Krieger and Rusty Russell" ...@@ -736,14 +757,14 @@ Andrea Arcangeli and Andi Kleen and Orran Krieger and Rusty Russell"
,note="Available: ,note="Available:
\url{http://lkml.org/lkml/2003/3/9/205} \url{http://lkml.org/lkml/2003/3/9/205}
[Viewed March 13, 2006]" [Viewed March 13, 2006]"
,annotation=" ,annotation={
Linus suggests replacing brlock with RCU and/or seqlocks: Linus suggests replacing brlock with RCU and/or seqlocks:
. .
'It's entirely possible that the current user could be replaced 'It's entirely possible that the current user could be replaced
by RCU and/or seqlocks, and we could get rid of brlocks entirely.' by RCU and/or seqlocks, and we could get rid of brlocks entirely.'
. .
Steve Hemminger responds by replacing them with RCU. Steve Hemminger responds by replacing them with RCU.
" }
} }
@article{Appavoo03a @article{Appavoo03a
...@@ -758,9 +779,9 @@ B. Rosenburg and M. Stumm and J. Xenidis" ...@@ -758,9 +779,9 @@ B. Rosenburg and M. Stumm and J. Xenidis"
,volume="42" ,volume="42"
,number="1" ,number="1"
,pages="60-76" ,pages="60-76"
,annotation=" ,annotation={
Use of RCU to enable hot-swapping for autonomic behavior in K42. Use of RCU to enable hot-swapping for autonomic behavior in K42.
" }
} }
@unpublished{Seigh03 @unpublished{Seigh03
...@@ -769,9 +790,9 @@ B. Rosenburg and M. Stumm and J. Xenidis" ...@@ -769,9 +790,9 @@ B. Rosenburg and M. Stumm and J. Xenidis"
,Year="2003" ,Year="2003"
,Month="March" ,Month="March"
,note="email correspondence" ,note="email correspondence"
,annotation=" ,annotation={
Described the relationship of the VM/XA passive serialization to RCU. Described the relationship of the VM/XA passive serialization to RCU.
" }
} }
@Conference{Arcangeli03 @Conference{Arcangeli03
...@@ -785,14 +806,12 @@ Dipankar Sarma" ...@@ -785,14 +806,12 @@ Dipankar Sarma"
,year="2003" ,year="2003"
,month="June" ,month="June"
,pages="297-310" ,pages="297-310"
,note="Available: ,annotation={
\url{http://www.rdrop.com/users/paulmck/RCU/rcu.FREENIX.2003.06.14.pdf}
[Viewed November 21, 2007]"
,annotation="
Compared updated RCU implementations for the Linux kernel, and Compared updated RCU implementations for the Linux kernel, and
described System V IPC use of RCU, including order-of-magnitude described System V IPC use of RCU, including order-of-magnitude
performance improvements. performance improvements.
" http://www.rdrop.com/users/paulmck/RCU/rcu.FREENIX.2003.06.14.pdf
}
} }
@Conference{Soules03a @Conference{Soules03a
...@@ -820,10 +839,10 @@ Michal Ostrowski and Bryan Rosenburg and Jimi Xenidis" ...@@ -820,10 +839,10 @@ Michal Ostrowski and Bryan Rosenburg and Jimi Xenidis"
,note="Available: ,note="Available:
\url{http://www.linuxjournal.com/article/6993} \url{http://www.linuxjournal.com/article/6993}
[Viewed November 14, 2007]" [Viewed November 14, 2007]"
,annotation=" ,annotation={
Reader-friendly intro to RCU, with the infamous old-man-and-brat Reader-friendly intro to RCU, with the infamous old-man-and-brat
cartoon. cartoon.
" }
} }
@unpublished{Sarma03a @unpublished{Sarma03a
...@@ -832,7 +851,9 @@ Michal Ostrowski and Bryan Rosenburg and Jimi Xenidis" ...@@ -832,7 +851,9 @@ Michal Ostrowski and Bryan Rosenburg and Jimi Xenidis"
,month="December" ,month="December"
,year="2003" ,year="2003"
,note="Message ID: 20031222180114.GA2248@in.ibm.com" ,note="Message ID: 20031222180114.GA2248@in.ibm.com"
,annotation="dipankar/ct.2004.03.27/RCUll.2003.12.22.patch" ,annotation={
dipankar/ct.2004.03.27/RCUll.2003.12.22.patch
}
} }
@techreport{Friedberg03a @techreport{Friedberg03a
...@@ -844,11 +865,11 @@ Michal Ostrowski and Bryan Rosenburg and Jimi Xenidis" ...@@ -844,11 +865,11 @@ Michal Ostrowski and Bryan Rosenburg and Jimi Xenidis"
,number="US Patent 6,662,184" ,number="US Patent 6,662,184"
,month="December" ,month="December"
,pages="112" ,pages="112"
,annotation=" ,annotation={
Applies RCU to a wildcard-search Patricia tree in order to permit Applies RCU to a wildcard-search Patricia tree in order to permit
synchronization-free lookup. RCU is used to retain removed nodes synchronization-free lookup. RCU is used to retain removed nodes
for a grace period before freeing them. for a grace period before freeing them.
" }
} }
@article{McKenney04a @article{McKenney04a
...@@ -860,12 +881,11 @@ Michal Ostrowski and Bryan Rosenburg and Jimi Xenidis" ...@@ -860,12 +881,11 @@ Michal Ostrowski and Bryan Rosenburg and Jimi Xenidis"
,volume="1" ,volume="1"
,number="118" ,number="118"
,pages="38-46" ,pages="38-46"
,note="Available: ,annotation={
\url{http://www.linuxjournal.com/node/7124}
[Viewed December 26, 2010]"
,annotation="
Reader friendly intro to dcache and RCU. Reader friendly intro to dcache and RCU.
" http://www.linuxjournal.com/node/7124
[Viewed December 26, 2010]
}
} }
@Conference{McKenney04b @Conference{McKenney04b
...@@ -879,10 +899,10 @@ Michal Ostrowski and Bryan Rosenburg and Jimi Xenidis" ...@@ -879,10 +899,10 @@ Michal Ostrowski and Bryan Rosenburg and Jimi Xenidis"
\url{http://www.linux.org.au/conf/2004/abstracts.html#90} \url{http://www.linux.org.au/conf/2004/abstracts.html#90}
\url{http://www.rdrop.com/users/paulmck/RCU/lockperf.2004.01.17a.pdf} \url{http://www.rdrop.com/users/paulmck/RCU/lockperf.2004.01.17a.pdf}
[Viewed June 23, 2004]" [Viewed June 23, 2004]"
,annotation=" ,annotation={
Compares performance of RCU to that of other locking primitives Compares performance of RCU to that of other locking primitives
over a number of CPUs (x86, Opteron, Itanium, and PPC). over a number of CPUs (x86, Opteron, Itanium, and PPC).
" }
} }
@unpublished{Sarma04a @unpublished{Sarma04a
...@@ -891,7 +911,9 @@ Michal Ostrowski and Bryan Rosenburg and Jimi Xenidis" ...@@ -891,7 +911,9 @@ Michal Ostrowski and Bryan Rosenburg and Jimi Xenidis"
,month="March" ,month="March"
,year="2004" ,year="2004"
,note="\url{http://marc.theaimsgroup.com/?l=linux-kernel&m=108003746402892&w=2}" ,note="\url{http://marc.theaimsgroup.com/?l=linux-kernel&m=108003746402892&w=2}"
,annotation="Head of thread: dipankar/2004.03.23/rcu-low-lat.1.patch" ,annotation={
Head of thread: dipankar/2004.03.23/rcu-low-lat.1.patch
}
} }
@unpublished{Sarma04b @unpublished{Sarma04b
...@@ -900,7 +922,9 @@ Michal Ostrowski and Bryan Rosenburg and Jimi Xenidis" ...@@ -900,7 +922,9 @@ Michal Ostrowski and Bryan Rosenburg and Jimi Xenidis"
,month="March" ,month="March"
,year="2004" ,year="2004"
,note="\url{http://marc.theaimsgroup.com/?l=linux-kernel&m=108016474829546&w=2}" ,note="\url{http://marc.theaimsgroup.com/?l=linux-kernel&m=108016474829546&w=2}"
,annotation="dipankar/rcuth.2004.03.24/rcu-throttle.patch" ,annotation={
dipankar/rcuth.2004.03.24/rcu-throttle.patch
}
} }
@unpublished{Spraul04a @unpublished{Spraul04a
...@@ -911,9 +935,9 @@ Michal Ostrowski and Bryan Rosenburg and Jimi Xenidis" ...@@ -911,9 +935,9 @@ Michal Ostrowski and Bryan Rosenburg and Jimi Xenidis"
,note="Available: ,note="Available:
\url{http://marc.theaimsgroup.com/?l=linux-kernel&m=108546407726602&w=2} \url{http://marc.theaimsgroup.com/?l=linux-kernel&m=108546407726602&w=2}
[Viewed June 23, 2004]" [Viewed June 23, 2004]"
,annotation=" ,annotation={
Hierarchical-bitmap patch for RCU infrastructure. Hierarchical-bitmap patch for RCU infrastructure.
" }
} }
@unpublished{Steiner04a @unpublished{Steiner04a
...@@ -950,10 +974,12 @@ Realtime Applications" ...@@ -950,10 +974,12 @@ Realtime Applications"
,year="2004" ,year="2004"
,month="June" ,month="June"
,pages="182-191" ,pages="182-191"
,annotation=" ,annotation={
Describes and compares a number of modifications to the Linux RCU Describes and compares a number of modifications to the Linux RCU
implementation that make it friendly to realtime applications. implementation that make it friendly to realtime applications.
" https://www.usenix.org/conference/2004-usenix-annual-technical-conference/making-rcu-safe-deep-sub-millisecond-response
[Viewed July 26, 2012]
}
} }
@phdthesis{PaulEdwardMcKenneyPhD @phdthesis{PaulEdwardMcKenneyPhD
...@@ -964,14 +990,13 @@ in Operating System Kernels" ...@@ -964,14 +990,13 @@ in Operating System Kernels"
,school="OGI School of Science and Engineering at ,school="OGI School of Science and Engineering at
Oregon Health and Sciences University" Oregon Health and Sciences University"
,year="2004" ,year="2004"
,note="Available: ,annotation={
\url{http://www.rdrop.com/users/paulmck/RCU/RCUdissertation.2004.07.14e1.pdf}
[Viewed October 15, 2004]"
,annotation="
Describes RCU implementations and presents design patterns Describes RCU implementations and presents design patterns
corresponding to common uses of RCU in several operating-system corresponding to common uses of RCU in several operating-system
kernels. kernels.
" http://www.rdrop.com/users/paulmck/RCU/RCUdissertation.2004.07.14e1.pdf
[Viewed October 15, 2004]
}
} }
@unpublished{PaulEMcKenney2004rcu:dereference @unpublished{PaulEMcKenney2004rcu:dereference
...@@ -982,9 +1007,9 @@ Oregon Health and Sciences University" ...@@ -982,9 +1007,9 @@ Oregon Health and Sciences University"
,note="Available: ,note="Available:
\url{http://lkml.org/lkml/2004/8/6/237} \url{http://lkml.org/lkml/2004/8/6/237}
[Viewed June 8, 2010]" [Viewed June 8, 2010]"
,annotation=" ,annotation={
Introduce rcu_dereference(). Introduce rcu_dereference().
" }
} }
@unpublished{JimHouston04a @unpublished{JimHouston04a
...@@ -995,11 +1020,11 @@ Oregon Health and Sciences University" ...@@ -995,11 +1020,11 @@ Oregon Health and Sciences University"
,note="Available: ,note="Available:
\url{http://lkml.org/lkml/2004/8/30/87} \url{http://lkml.org/lkml/2004/8/30/87}
[Viewed February 17, 2005]" [Viewed February 17, 2005]"
,annotation=" ,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 make RCU happen, allowing RCU to function on CPUs that do not
receive a scheduling-clock interrupt. receive a scheduling-clock interrupt.
" }
} }
@unpublished{TomHart04a @unpublished{TomHart04a
...@@ -1010,9 +1035,9 @@ Oregon Health and Sciences University" ...@@ -1010,9 +1035,9 @@ Oregon Health and Sciences University"
,note="Available: ,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]" [Viewed October 15, 2004]"
,annotation=" ,annotation={
Proposes comparing RCU to lock-free methods for the Linux kernel. Proposes comparing RCU to lock-free methods for the Linux kernel.
" }
} }
@unpublished{Vaddagiri04a @unpublished{Vaddagiri04a
...@@ -1023,9 +1048,9 @@ Oregon Health and Sciences University" ...@@ -1023,9 +1048,9 @@ Oregon Health and Sciences University"
,note="Available: ,note="Available:
\url{http://marc.theaimsgroup.com/?t=109395731700004&r=1&w=2} \url{http://marc.theaimsgroup.com/?t=109395731700004&r=1&w=2}
[Viewed October 18, 2004]" [Viewed October 18, 2004]"
,annotation=" ,annotation={
Srivatsa's RCU patch for tcp_ehash lookup. Srivatsa's RCU patch for tcp_ehash lookup.
" }
} }
@unpublished{Thirumalai04a @unpublished{Thirumalai04a
...@@ -1036,9 +1061,9 @@ Oregon Health and Sciences University" ...@@ -1036,9 +1061,9 @@ Oregon Health and Sciences University"
,note="Available: ,note="Available:
\url{http://marc.theaimsgroup.com/?t=109144217400003&r=1&w=2} \url{http://marc.theaimsgroup.com/?t=109144217400003&r=1&w=2}
[Viewed October 18, 2004]" [Viewed October 18, 2004]"
,annotation=" ,annotation={
Ravikiran's lockfree FD patch. Ravikiran's lockfree FD patch.
" }
} }
@unpublished{Thirumalai04b @unpublished{Thirumalai04b
...@@ -1049,9 +1074,9 @@ Oregon Health and Sciences University" ...@@ -1049,9 +1074,9 @@ Oregon Health and Sciences University"
,note="Available: ,note="Available:
\url{http://marc.theaimsgroup.com/?l=linux-kernel&m=109152521410459&w=2} \url{http://marc.theaimsgroup.com/?l=linux-kernel&m=109152521410459&w=2}
[Viewed October 18, 2004]" [Viewed October 18, 2004]"
,annotation=" ,annotation={
Ravikiran's lockfree FD patch. Ravikiran's lockfree FD patch.
" }
} }
@unpublished{PaulEMcKenney2004rcu:assign:pointer @unpublished{PaulEMcKenney2004rcu:assign:pointer
...@@ -1062,9 +1087,9 @@ Oregon Health and Sciences University" ...@@ -1062,9 +1087,9 @@ Oregon Health and Sciences University"
,note="Available: ,note="Available:
\url{http://lkml.org/lkml/2004/10/23/241} \url{http://lkml.org/lkml/2004/10/23/241}
[Viewed June 8, 2010]" [Viewed June 8, 2010]"
,annotation=" ,annotation={
Introduce rcu_assign_pointer(). Introduce rcu_assign_pointer().
" }
} }
@unpublished{JamesMorris04a @unpublished{JamesMorris04a
...@@ -1073,12 +1098,12 @@ Oregon Health and Sciences University" ...@@ -1073,12 +1098,12 @@ Oregon Health and Sciences University"
,day="15" ,day="15"
,month="November" ,month="November"
,year="2004" ,year="2004"
,note="Available: ,note="\url{http://marc.theaimsgroup.com/?l=linux-kernel&m=110054979416004&w=2}"
\url{http://marc.theaimsgroup.com/?l=linux-kernel&m=110054979416004&w=2} ,annotation={
[Viewed December 10, 2004]"
,annotation="
James Morris posts Kaigai Kohei's patch to LKML. James Morris posts Kaigai Kohei's patch to LKML.
" [Viewed December 10, 2004]
Kaigai's patch is at https://lkml.org/lkml/2004/9/27/52
}
} }
@unpublished{JamesMorris04b @unpublished{JamesMorris04b
...@@ -1089,9 +1114,9 @@ Oregon Health and Sciences University" ...@@ -1089,9 +1114,9 @@ Oregon Health and Sciences University"
,note="Available: ,note="Available:
\url{http://www.livejournal.com/users/james_morris/2153.html} \url{http://www.livejournal.com/users/james_morris/2153.html}
[Viewed December 10, 2004]" [Viewed December 10, 2004]"
,annotation=" ,annotation={
RCU helps SELinux performance. ;-) Made LWN. RCU helps SELinux performance. ;-) Made LWN.
" }
} }
@unpublished{PaulMcKenney2005RCUSemantics @unpublished{PaulMcKenney2005RCUSemantics
...@@ -1103,9 +1128,9 @@ Oregon Health and Sciences University" ...@@ -1103,9 +1128,9 @@ Oregon Health and Sciences University"
,note="Available: ,note="Available:
\url{http://www.rdrop.com/users/paulmck/RCU/rcu-semantics.2005.01.30a.pdf} \url{http://www.rdrop.com/users/paulmck/RCU/rcu-semantics.2005.01.30a.pdf}
[Viewed December 6, 2009]" [Viewed December 6, 2009]"
,annotation=" ,annotation={
Early derivation of RCU semantics. Early derivation of RCU semantics.
" }
} }
@unpublished{PaulMcKenney2005e @unpublished{PaulMcKenney2005e
...@@ -1117,10 +1142,10 @@ Oregon Health and Sciences University" ...@@ -1117,10 +1142,10 @@ Oregon Health and Sciences University"
,note="Available: ,note="Available:
\url{http://lkml.org/lkml/2005/3/17/199} \url{http://lkml.org/lkml/2005/3/17/199}
[Viewed September 5, 2005]" [Viewed September 5, 2005]"
,annotation=" ,annotation={
First posting showing how RCU can be safely adapted for First posting showing how RCU can be safely adapted for
preemptable RCU read side critical sections. preemptable RCU read side critical sections.
" }
} }
@unpublished{EsbenNeilsen2005a @unpublished{EsbenNeilsen2005a
...@@ -1132,12 +1157,12 @@ Oregon Health and Sciences University" ...@@ -1132,12 +1157,12 @@ Oregon Health and Sciences University"
,note="Available: ,note="Available:
\url{http://lkml.org/lkml/2005/3/18/122} \url{http://lkml.org/lkml/2005/3/18/122}
[Viewed March 30, 2006]" [Viewed March 30, 2006]"
,annotation=" ,annotation={
Esben Neilsen suggests read-side suppression of grace-period Esben Neilsen suggests read-side suppression of grace-period
processing for crude-but-workable realtime RCU. The downside processing for crude-but-workable realtime RCU. The downside
is indefinite grace periods...But this is OK for experimentation is indefinite grace periods... But this is OK for experimentation
and testing. and testing.
" }
} }
@unpublished{TomHart05a @unpublished{TomHart05a
...@@ -1149,10 +1174,10 @@ Data Structures" ...@@ -1149,10 +1174,10 @@ Data Structures"
,note="Available: ,note="Available:
\url{ftp://ftp.cs.toronto.edu/csrg-technical-reports/515/} \url{ftp://ftp.cs.toronto.edu/csrg-technical-reports/515/}
[Viewed March 4, 2005]" [Viewed March 4, 2005]"
,annotation=" ,annotation={
Comparison of RCU, QBSR, and EBSR. RCU wins for read-mostly Comparison of RCU, QBSR, and EBSR. RCU wins for read-mostly
workloads. ;-) workloads. ;-)
" }
} }
@unpublished{JonCorbet2005DeprecateSyncKernel @unpublished{JonCorbet2005DeprecateSyncKernel
...@@ -1164,10 +1189,10 @@ Data Structures" ...@@ -1164,10 +1189,10 @@ Data Structures"
,note="Available: ,note="Available:
\url{http://lwn.net/Articles/134484/} \url{http://lwn.net/Articles/134484/}
[Viewed May 3, 2005]" [Viewed May 3, 2005]"
,annotation=" ,annotation={
Jon Corbet describes deprecation of synchronize_kernel() Jon Corbet describes deprecation of synchronize_kernel()
in favor of synchronize_rcu() and synchronize_sched(). in favor of synchronize_rcu() and synchronize_sched().
" }
} }
@unpublished{PaulMcKenney05a @unpublished{PaulMcKenney05a
...@@ -1178,10 +1203,10 @@ Data Structures" ...@@ -1178,10 +1203,10 @@ Data Structures"
,note="Available: ,note="Available:
\url{http://lkml.org/lkml/2005/5/9/185} \url{http://lkml.org/lkml/2005/5/9/185}
[Viewed May 13, 2005]" [Viewed May 13, 2005]"
,annotation=" ,annotation={
First publication of working lock-based deferred free patches First publication of working lock-based deferred free patches
for the CONFIG_PREEMPT_RT environment. for the CONFIG_PREEMPT_RT environment.
" }
} }
@conference{PaulMcKenney05b @conference{PaulMcKenney05b
...@@ -1194,10 +1219,10 @@ Data Structures" ...@@ -1194,10 +1219,10 @@ Data Structures"
,note="Available: ,note="Available:
\url{http://www.rdrop.com/users/paulmck/RCU/realtimeRCU.2005.04.23a.pdf} \url{http://www.rdrop.com/users/paulmck/RCU/realtimeRCU.2005.04.23a.pdf}
[Viewed May 13, 2005]" [Viewed May 13, 2005]"
,annotation=" ,annotation={
Realtime turns into making RCU yet more realtime friendly. Realtime turns into making RCU yet more realtime friendly.
http://lca2005.linux.org.au/Papers/Paul%20McKenney/Towards%20Hard%20Realtime%20Response%20from%20the%20Linux%20Kernel/LKS.2005.04.22a.pdf http://lca2005.linux.org.au/Papers/Paul%20McKenney/Towards%20Hard%20Realtime%20Response%20from%20the%20Linux%20Kernel/LKS.2005.04.22a.pdf
" }
} }
@unpublished{PaulEMcKenneyHomePage @unpublished{PaulEMcKenneyHomePage
...@@ -1208,9 +1233,9 @@ Data Structures" ...@@ -1208,9 +1233,9 @@ Data Structures"
,note="Available: ,note="Available:
\url{http://www.rdrop.com/users/paulmck/} \url{http://www.rdrop.com/users/paulmck/}
[Viewed May 25, 2005]" [Viewed May 25, 2005]"
,annotation=" ,annotation={
Paul McKenney's home page. Paul McKenney's home page.
" }
} }
@unpublished{PaulEMcKenneyRCUPage @unpublished{PaulEMcKenneyRCUPage
...@@ -1221,9 +1246,9 @@ Data Structures" ...@@ -1221,9 +1246,9 @@ Data Structures"
,note="Available: ,note="Available:
\url{http://www.rdrop.com/users/paulmck/RCU} \url{http://www.rdrop.com/users/paulmck/RCU}
[Viewed May 25, 2005]" [Viewed May 25, 2005]"
,annotation=" ,annotation={
Paul McKenney's RCU page. Paul McKenney's RCU page.
" }
} }
@unpublished{JosephSeigh2005a @unpublished{JosephSeigh2005a
...@@ -1232,10 +1257,10 @@ Data Structures" ...@@ -1232,10 +1257,10 @@ Data Structures"
,month="July" ,month="July"
,year="2005" ,year="2005"
,note="Personal communication" ,note="Personal communication"
,annotation=" ,annotation={
Joe Seigh announcing his atomic-ptr-plus project. Joe Seigh announcing his atomic-ptr-plus project.
http://sourceforge.net/projects/atomic-ptr-plus/ http://sourceforge.net/projects/atomic-ptr-plus/
" }
} }
@unpublished{JosephSeigh2005b @unpublished{JosephSeigh2005b
...@@ -1247,9 +1272,9 @@ Data Structures" ...@@ -1247,9 +1272,9 @@ Data Structures"
,note="Available: ,note="Available:
\url{http://sourceforge.net/projects/atomic-ptr-plus/} \url{http://sourceforge.net/projects/atomic-ptr-plus/}
[Viewed August 8, 2005]" [Viewed August 8, 2005]"
,annotation=" ,annotation={
Joe Seigh's atomic-ptr-plus project. Joe Seigh's atomic-ptr-plus project.
" }
} }
@unpublished{PaulMcKenney2005c @unpublished{PaulMcKenney2005c
...@@ -1261,9 +1286,9 @@ Data Structures" ...@@ -1261,9 +1286,9 @@ Data Structures"
,note="Available: ,note="Available:
\url{http://lkml.org/lkml/2005/8/1/155} \url{http://lkml.org/lkml/2005/8/1/155}
[Viewed March 14, 2006]" [Viewed March 14, 2006]"
,annotation=" ,annotation={
First operating counter-based realtime RCU patch posted to LKML. First operating counter-based realtime RCU patch posted to LKML.
" }
} }
@unpublished{PaulMcKenney2005d @unpublished{PaulMcKenney2005d
...@@ -1275,11 +1300,11 @@ Data Structures" ...@@ -1275,11 +1300,11 @@ Data Structures"
,note="Available: ,note="Available:
\url{http://lkml.org/lkml/2005/8/8/108} \url{http://lkml.org/lkml/2005/8/8/108}
[Viewed March 14, 2006]" [Viewed March 14, 2006]"
,annotation=" ,annotation={
First operating counter-based realtime RCU patch posted to LKML, First operating counter-based realtime RCU patch posted to LKML,
but fixed so that various unusual combinations of configuration but fixed so that various unusual combinations of configuration
parameters all function properly. parameters all function properly.
" }
} }
@unpublished{PaulMcKenney2005rcutorture @unpublished{PaulMcKenney2005rcutorture
...@@ -1291,9 +1316,25 @@ Data Structures" ...@@ -1291,9 +1316,25 @@ Data Structures"
,note="Available: ,note="Available:
\url{http://lkml.org/lkml/2005/10/1/70} \url{http://lkml.org/lkml/2005/10/1/70}
[Viewed March 14, 2006]" [Viewed March 14, 2006]"
,annotation=" ,annotation={
First rcutorture patch. First rcutorture patch.
" }
}
@unpublished{DavidSMiller2006HashedLocking
,Author="David S. Miller"
,Title="Re: [{PATCH}, {RFC}] {RCU} : {OOM} avoidance and lower latency"
,month="January"
,day="6"
,year="2006"
,note="Available:
\url{https://lkml.org/lkml/2006/1/7/22}
[Viewed February 29, 2012]"
,annotation={
David Miller's view on hashed arrays of locks: used to really
like it, but time he saw an opportunity for this technique,
something else always proved superior. Partitioning or RCU. ;-)
}
} }
@conference{ThomasEHart2006a @conference{ThomasEHart2006a
...@@ -1309,10 +1350,10 @@ Distributed Processing Symposium" ...@@ -1309,10 +1350,10 @@ Distributed Processing Symposium"
,note="Available: ,note="Available:
\url{http://www.rdrop.com/users/paulmck/RCU/hart_ipdps06.pdf} \url{http://www.rdrop.com/users/paulmck/RCU/hart_ipdps06.pdf}
[Viewed April 28, 2008]" [Viewed April 28, 2008]"
,annotation=" ,annotation={
Compares QSBR, HPBR, EBR, and lock-free reference counting. Compares QSBR, HPBR, EBR, and lock-free reference counting.
http://www.cs.toronto.edu/~tomhart/perflab/ipdps06.tgz http://www.cs.toronto.edu/~tomhart/perflab/ipdps06.tgz
" }
} }
@unpublished{NickPiggin2006radixtree @unpublished{NickPiggin2006radixtree
...@@ -1324,9 +1365,9 @@ Distributed Processing Symposium" ...@@ -1324,9 +1365,9 @@ Distributed Processing Symposium"
,note="Available: ,note="Available:
\url{http://lkml.org/lkml/2006/6/20/238} \url{http://lkml.org/lkml/2006/6/20/238}
[Viewed March 25, 2008]" [Viewed March 25, 2008]"
,annotation=" ,annotation={
RCU-protected radix tree. RCU-protected radix tree.
" }
} }
@Conference{PaulEMcKenney2006b @Conference{PaulEMcKenney2006b
...@@ -1341,9 +1382,9 @@ Suparna Bhattacharya" ...@@ -1341,9 +1382,9 @@ Suparna Bhattacharya"
\url{http://www.linuxsymposium.org/2006/view_abstract.php?content_key=184} \url{http://www.linuxsymposium.org/2006/view_abstract.php?content_key=184}
\url{http://www.rdrop.com/users/paulmck/RCU/OLSrtRCU.2006.08.11a.pdf} \url{http://www.rdrop.com/users/paulmck/RCU/OLSrtRCU.2006.08.11a.pdf}
[Viewed January 1, 2007]" [Viewed January 1, 2007]"
,annotation=" ,annotation={
Described how to improve the -rt implementation of realtime RCU. Described how to improve the -rt implementation of realtime RCU.
" }
} }
@unpublished{WikipediaRCU @unpublished{WikipediaRCU
...@@ -1354,12 +1395,11 @@ Canis Rufus and Zoicon5 and Anome and Hal Eisen" ...@@ -1354,12 +1395,11 @@ Canis Rufus and Zoicon5 and Anome and Hal Eisen"
,month="July" ,month="July"
,day="8" ,day="8"
,year="2006" ,year="2006"
,note="Available: ,note="\url{http://en.wikipedia.org/wiki/Read-copy-update}"
\url{http://en.wikipedia.org/wiki/Read-copy-update} ,annotation={
[Viewed August 21, 2006]"
,annotation="
Wikipedia RCU page as of July 8 2006. Wikipedia RCU page as of July 8 2006.
" [Viewed August 21, 2006]
}
} }
@Conference{NickPiggin2006LocklessPageCache @Conference{NickPiggin2006LocklessPageCache
...@@ -1372,9 +1412,9 @@ Canis Rufus and Zoicon5 and Anome and Hal Eisen" ...@@ -1372,9 +1412,9 @@ Canis Rufus and Zoicon5 and Anome and Hal Eisen"
,note="Available: ,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]" [Viewed January 11, 2009]"
,annotation=" ,annotation={
Uses RCU-protected radix tree for a lockless page cache. Uses RCU-protected radix tree for a lockless page cache.
" }
} }
@unpublished{PaulEMcKenney2006c @unpublished{PaulEMcKenney2006c
...@@ -1388,9 +1428,9 @@ Canis Rufus and Zoicon5 and Anome and Hal Eisen" ...@@ -1388,9 +1428,9 @@ Canis Rufus and Zoicon5 and Anome and Hal Eisen"
Revised: Revised:
\url{http://www.rdrop.com/users/paulmck/RCU/srcu.2007.01.14a.pdf} \url{http://www.rdrop.com/users/paulmck/RCU/srcu.2007.01.14a.pdf}
[Viewed August 21, 2006]" [Viewed August 21, 2006]"
,annotation=" ,annotation={
LWN article introducing SRCU. LWN article introducing SRCU.
" }
} }
@unpublished{RobertOlsson2006a @unpublished{RobertOlsson2006a
...@@ -1399,12 +1439,11 @@ Revised: ...@@ -1399,12 +1439,11 @@ Revised:
,month="August" ,month="August"
,day="18" ,day="18"
,year="2006" ,year="2006"
,note="Available: ,note="\url{http://www.nada.kth.se/~snilsson/publications/TRASH/trash.pdf}"
\url{http://www.nada.kth.se/~snilsson/publications/TRASH/trash.pdf} ,annotation={
[Viewed March 4, 2011]"
,annotation="
RCU-protected dynamic trie-hash combination. RCU-protected dynamic trie-hash combination.
" [Viewed March 4, 2011]
}
} }
@unpublished{ChristophHellwig2006RCU2SRCU @unpublished{ChristophHellwig2006RCU2SRCU
...@@ -1426,10 +1465,10 @@ Revised: ...@@ -1426,10 +1465,10 @@ Revised:
,note="Available: ,note="Available:
\url{http://www.rdrop.com/users/paulmck/RCU/linuxusage.html} \url{http://www.rdrop.com/users/paulmck/RCU/linuxusage.html}
[Viewed January 14, 2007]" [Viewed January 14, 2007]"
,annotation=" ,annotation={
Paul McKenney's RCU page showing graphs plotting Linux-kernel Paul McKenney's RCU page showing graphs plotting Linux-kernel
usage of RCU. usage of RCU.
" }
} }
@unpublished{PaulEMcKenneyRCUusageRawDataPage @unpublished{PaulEMcKenneyRCUusageRawDataPage
...@@ -1440,10 +1479,10 @@ Revised: ...@@ -1440,10 +1479,10 @@ Revised:
,note="Available: ,note="Available:
\url{http://www.rdrop.com/users/paulmck/RCU/linuxusage/rculocktab.html} \url{http://www.rdrop.com/users/paulmck/RCU/linuxusage/rculocktab.html}
[Viewed January 14, 2007]" [Viewed January 14, 2007]"
,annotation=" ,annotation={
Paul McKenney's RCU page showing Linux usage of RCU in tabular Paul McKenney's RCU page showing Linux usage of RCU in tabular
form, with links to corresponding cscope databases. form, with links to corresponding cscope databases.
" }
} }
@unpublished{GauthamShenoy2006RCUrwlock @unpublished{GauthamShenoy2006RCUrwlock
...@@ -1455,13 +1494,13 @@ Revised: ...@@ -1455,13 +1494,13 @@ Revised:
,note="Available: ,note="Available:
\url{http://lkml.org/lkml/2006/10/26/73} \url{http://lkml.org/lkml/2006/10/26/73}
[Viewed January 26, 2009]" [Viewed January 26, 2009]"
,annotation=" ,annotation={
RCU-based reader-writer lock that allows readers to proceed with RCU-based reader-writer lock that allows readers to proceed with
no memory barriers or atomic instruction in absence of writers. no memory barriers or atomic instruction in absence of writers.
If writer do show up, readers must of course wait as required by If writer do show up, readers must of course wait as required by
the semantics of reader-writer locking. This is a recursive the semantics of reader-writer locking. This is a recursive
lock. lock.
" }
} }
@unpublished{JensAxboe2006SlowSRCU @unpublished{JensAxboe2006SlowSRCU
...@@ -1474,11 +1513,11 @@ Revised: ...@@ -1474,11 +1513,11 @@ Revised:
,note="Available: ,note="Available:
\url{http://lkml.org/lkml/2006/11/17/56} \url{http://lkml.org/lkml/2006/11/17/56}
[Viewed May 28, 2007]" [Viewed May 28, 2007]"
,annotation=" ,annotation={
SRCU's grace periods are too slow for Jens, even after a SRCU's grace periods are too slow for Jens, even after a
factor-of-three speedup. factor-of-three speedup.
Sped-up version of SRCU at http://lkml.org/lkml/2006/11/17/359. Sped-up version of SRCU at http://lkml.org/lkml/2006/11/17/359.
" }
} }
@unpublished{OlegNesterov2006QRCU @unpublished{OlegNesterov2006QRCU
...@@ -1491,10 +1530,10 @@ Revised: ...@@ -1491,10 +1530,10 @@ Revised:
,note="Available: ,note="Available:
\url{http://lkml.org/lkml/2006/11/19/69} \url{http://lkml.org/lkml/2006/11/19/69}
[Viewed May 28, 2007]" [Viewed May 28, 2007]"
,annotation=" ,annotation={
First cut of QRCU. Expanded/corrected versions followed. First cut of QRCU. Expanded/corrected versions followed.
Used to be OlegNesterov2007QRCU, now time-corrected. Used to be OlegNesterov2007QRCU, now time-corrected.
" }
} }
@unpublished{OlegNesterov2006aQRCU @unpublished{OlegNesterov2006aQRCU
...@@ -1506,10 +1545,10 @@ Revised: ...@@ -1506,10 +1545,10 @@ Revised:
,note="Available: ,note="Available:
\url{http://lkml.org/lkml/2006/11/29/330} \url{http://lkml.org/lkml/2006/11/29/330}
[Viewed November 26, 2008]" [Viewed November 26, 2008]"
,annotation=" ,annotation={
Expanded/corrected version of QRCU. Expanded/corrected version of QRCU.
Used to be OlegNesterov2007aQRCU, now time-corrected. Used to be OlegNesterov2007aQRCU, now time-corrected.
" }
} }
@unpublished{EvgeniyPolyakov2006RCUslowdown @unpublished{EvgeniyPolyakov2006RCUslowdown
...@@ -1521,10 +1560,10 @@ Revised: ...@@ -1521,10 +1560,10 @@ Revised:
,note="Available: ,note="Available:
\url{http://www.ioremap.net/node/41} \url{http://www.ioremap.net/node/41}
[Viewed October 28, 2008]" [Viewed October 28, 2008]"
,annotation=" ,annotation={
Using RCU as a pure delay leads to a 2.5x slowdown in skbs in Using RCU as a pure delay leads to a 2.5x slowdown in skbs in
the Linux kernel. the Linux kernel.
" }
} }
@inproceedings{ChrisMatthews2006ClusteredObjectsRCU @inproceedings{ChrisMatthews2006ClusteredObjectsRCU
...@@ -1541,7 +1580,8 @@ Revised: ...@@ -1541,7 +1580,8 @@ Revised:
,annotation={ ,annotation={
Uses K42's RCU-like functionality to manage clustered-object Uses K42's RCU-like functionality to manage clustered-object
lifetimes. lifetimes.
}} }
}
@article{DilmaDaSilva2006K42 @article{DilmaDaSilva2006K42
,author = {Silva, Dilma Da and Krieger, Orran and Wisniewski, Robert W. and Waterland, Amos and Tam, David and Baumann, Andrew} ,author = {Silva, Dilma Da and Krieger, Orran and Wisniewski, Robert W. and Waterland, Amos and Tam, David and Baumann, Andrew}
...@@ -1557,7 +1597,8 @@ Revised: ...@@ -1557,7 +1597,8 @@ Revised:
,address = {New York, NY, USA} ,address = {New York, NY, USA}
,annotation={ ,annotation={
Describes relationship of K42 generations to RCU. Describes relationship of K42 generations to RCU.
}} }
}
# CoreyMinyard2007list_splice_rcu # CoreyMinyard2007list_splice_rcu
@unpublished{CoreyMinyard2007list:splice:rcu @unpublished{CoreyMinyard2007list:splice:rcu
...@@ -1569,9 +1610,9 @@ Revised: ...@@ -1569,9 +1610,9 @@ Revised:
,note="Available: ,note="Available:
\url{http://lkml.org/lkml/2007/1/3/112} \url{http://lkml.org/lkml/2007/1/3/112}
[Viewed May 28, 2007]" [Viewed May 28, 2007]"
,annotation=" ,annotation={
Patch for list_splice_rcu(). Patch for list_splice_rcu().
" }
} }
@unpublished{PaulEMcKenney2007rcubarrier @unpublished{PaulEMcKenney2007rcubarrier
...@@ -1583,9 +1624,9 @@ Revised: ...@@ -1583,9 +1624,9 @@ Revised:
,note="Available: ,note="Available:
\url{http://lwn.net/Articles/217484/} \url{http://lwn.net/Articles/217484/}
[Viewed November 22, 2007]" [Viewed November 22, 2007]"
,annotation=" ,annotation={
LWN article introducing the rcu_barrier() primitive. LWN article introducing the rcu_barrier() primitive.
" }
} }
@unpublished{PeterZijlstra2007SyncBarrier @unpublished{PeterZijlstra2007SyncBarrier
...@@ -1597,10 +1638,10 @@ Revised: ...@@ -1597,10 +1638,10 @@ Revised:
,note="Available: ,note="Available:
\url{http://lkml.org/lkml/2007/1/28/34} \url{http://lkml.org/lkml/2007/1/28/34}
[Viewed March 27, 2008]" [Viewed March 27, 2008]"
,annotation=" ,annotation={
RCU-like implementation for frequent updaters and rare readers(!). RCU-like implementation for frequent updaters and rare readers(!).
Subsumed into QRCU. Maybe... Subsumed into QRCU. Maybe...
" }
} }
@unpublished{PaulEMcKenney2007BoostRCU @unpublished{PaulEMcKenney2007BoostRCU
...@@ -1609,14 +1650,13 @@ Revised: ...@@ -1609,14 +1650,13 @@ Revised:
,month="February" ,month="February"
,day="5" ,day="5"
,year="2007" ,year="2007"
,note="Available: ,note="\url{http://lwn.net/Articles/220677/}"
\url{http://lwn.net/Articles/220677/} ,annotation={
Revised:
\url{http://www.rdrop.com/users/paulmck/RCU/RCUbooststate.2007.04.16a.pdf}
[Viewed September 7, 2007]"
,annotation="
LWN article introducing RCU priority boosting. LWN article introducing RCU priority boosting.
" Revised:
http://www.rdrop.com/users/paulmck/RCU/RCUbooststate.2007.04.16a.pdf
[Viewed September 7, 2007]
}
} }
@unpublished{PaulMcKenney2007QRCUpatch @unpublished{PaulMcKenney2007QRCUpatch
...@@ -1628,9 +1668,9 @@ Revised: ...@@ -1628,9 +1668,9 @@ Revised:
,note="Available: ,note="Available:
\url{http://lkml.org/lkml/2007/2/25/18} \url{http://lkml.org/lkml/2007/2/25/18}
[Viewed March 27, 2008]" [Viewed March 27, 2008]"
,annotation=" ,annotation={
Patch for QRCU supplying lock-free fast path. Patch for QRCU supplying lock-free fast path.
" }
} }
@article{JonathanAppavoo2007K42RCU @article{JonathanAppavoo2007K42RCU
...@@ -1647,7 +1687,8 @@ Revised: ...@@ -1647,7 +1687,8 @@ Revised:
,address = {New York, NY, USA} ,address = {New York, NY, USA}
,annotation={ ,annotation={
Role of RCU in K42. Role of RCU in K42.
}} }
}
@conference{RobertOlsson2007Trash @conference{RobertOlsson2007Trash
,Author="Robert Olsson and Stefan Nilsson" ,Author="Robert Olsson and Stefan Nilsson"
...@@ -1658,9 +1699,9 @@ Revised: ...@@ -1658,9 +1699,9 @@ Revised:
,note="Available: ,note="Available:
\url{http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=4281239} \url{http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=4281239}
[Viewed October 1, 2010]" [Viewed October 1, 2010]"
,annotation=" ,annotation={
RCU-protected dynamic trie-hash combination. RCU-protected dynamic trie-hash combination.
" }
} }
@conference{PeterZijlstra2007ConcurrentPagecacheRCU @conference{PeterZijlstra2007ConcurrentPagecacheRCU
...@@ -1673,10 +1714,10 @@ Revised: ...@@ -1673,10 +1714,10 @@ Revised:
,note="Available: ,note="Available:
\url{http://ols.108.redhat.com/2007/Reprints/zijlstra-Reprint.pdf} \url{http://ols.108.redhat.com/2007/Reprints/zijlstra-Reprint.pdf}
[Viewed April 14, 2008]" [Viewed April 14, 2008]"
,annotation=" ,annotation={
Page-cache modifications permitting RCU readers and concurrent Page-cache modifications permitting RCU readers and concurrent
updates. updates.
" }
} }
@unpublished{PaulEMcKenney2007whatisRCU @unpublished{PaulEMcKenney2007whatisRCU
...@@ -1701,11 +1742,11 @@ Revised: ...@@ -1701,11 +1742,11 @@ Revised:
,note="Available: ,note="Available:
\url{http://lwn.net/Articles/243851/} \url{http://lwn.net/Articles/243851/}
[Viewed September 8, 2007]" [Viewed September 8, 2007]"
,annotation=" ,annotation={
LWN article describing Promela and spin, and also using Oleg LWN article describing Promela and spin, and also using Oleg
Nesterov's QRCU as an example (with Paul McKenney's fastpath). Nesterov's QRCU as an example (with Paul McKenney's fastpath).
Merged patch at: http://lkml.org/lkml/2007/2/25/18 Merged patch at: http://lkml.org/lkml/2007/2/25/18
" }
} }
@unpublished{PaulEMcKenney2007WG21DDOatomics @unpublished{PaulEMcKenney2007WG21DDOatomics
...@@ -1714,12 +1755,12 @@ Revised: ...@@ -1714,12 +1755,12 @@ Revised:
,month="August" ,month="August"
,day="3" ,day="3"
,year="2007" ,year="2007"
,note="Preprint: ,note="Available:
\url{http://open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2664.htm} \url{http://open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2664.htm}
[Viewed December 7, 2009]" [Viewed December 7, 2009]"
,annotation=" ,annotation={
RCU for C++, parts 1 and 2. RCU for C++, parts 1 and 2.
" }
} }
@unpublished{PaulEMcKenney2007WG21DDOannotation @unpublished{PaulEMcKenney2007WG21DDOannotation
...@@ -1728,12 +1769,12 @@ Revised: ...@@ -1728,12 +1769,12 @@ Revised:
,month="September" ,month="September"
,day="18" ,day="18"
,year="2008" ,year="2008"
,note="Preprint: ,note="Available:
\url{http://open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2782.htm} \url{http://open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2782.htm}
[Viewed December 7, 2009]" [Viewed December 7, 2009]"
,annotation=" ,annotation={
RCU for C++, part 2, updated many times. RCU for C++, part 2, updated many times.
" }
} }
@unpublished{PaulEMcKenney2007PreemptibleRCUPatch @unpublished{PaulEMcKenney2007PreemptibleRCUPatch
...@@ -1745,10 +1786,10 @@ Revised: ...@@ -1745,10 +1786,10 @@ Revised:
,note="Available: ,note="Available:
\url{http://lkml.org/lkml/2007/9/10/213} \url{http://lkml.org/lkml/2007/9/10/213}
[Viewed October 25, 2007]" [Viewed October 25, 2007]"
,annotation=" ,annotation={
Final patch for preemptable RCU to -rt. (Later patches were Final patch for preemptable RCU to -rt. (Later patches were
to mainline, eventually incorporated.) to mainline, eventually incorporated.)
" }
} }
@unpublished{PaulEMcKenney2007PreemptibleRCU @unpublished{PaulEMcKenney2007PreemptibleRCU
...@@ -1760,9 +1801,9 @@ Revised: ...@@ -1760,9 +1801,9 @@ Revised:
,note="Available: ,note="Available:
\url{http://lwn.net/Articles/253651/} \url{http://lwn.net/Articles/253651/}
[Viewed October 25, 2007]" [Viewed October 25, 2007]"
,annotation=" ,annotation={
LWN article describing the design of preemptible RCU. LWN article describing the design of preemptible RCU.
" }
} }
@article{ThomasEHart2007a @article{ThomasEHart2007a
...@@ -1783,6 +1824,7 @@ Revised: ...@@ -1783,6 +1824,7 @@ Revised:
} }
} }
# MathieuDesnoyers2007call_rcu_schedNeeded
@unpublished{MathieuDesnoyers2007call:rcu:schedNeeded @unpublished{MathieuDesnoyers2007call:rcu:schedNeeded
,Author="Mathieu Desnoyers" ,Author="Mathieu Desnoyers"
,Title="Re: [patch 1/2] {Linux} Kernel Markers - Support Multiple Probes" ,Title="Re: [patch 1/2] {Linux} Kernel Markers - Support Multiple Probes"
...@@ -1792,9 +1834,9 @@ Revised: ...@@ -1792,9 +1834,9 @@ Revised:
,note="Available: ,note="Available:
\url{http://lkml.org/lkml/2007/12/20/244} \url{http://lkml.org/lkml/2007/12/20/244}
[Viewed March 27, 2008]" [Viewed March 27, 2008]"
,annotation=" ,annotation={
Request for call_rcu_sched() and rcu_barrier_sched(). Request for call_rcu_sched() and rcu_barrier_sched().
" }
} }
...@@ -1815,11 +1857,11 @@ Revised: ...@@ -1815,11 +1857,11 @@ Revised:
,note="Available: ,note="Available:
\url{http://lwn.net/Articles/262464/} \url{http://lwn.net/Articles/262464/}
[Viewed December 27, 2007]" [Viewed December 27, 2007]"
,annotation=" ,annotation={
Lays out the three basic components of RCU: (1) publish-subscribe, Lays out the three basic components of RCU: (1) publish-subscribe,
(2) wait for pre-existing readers to complete, and (2) maintain (2) wait for pre-existing readers to complete, and (2) maintain
multiple versions. multiple versions.
" }
} }
@unpublished{PaulEMcKenney2008WhatIsRCUUsage @unpublished{PaulEMcKenney2008WhatIsRCUUsage
...@@ -1831,7 +1873,7 @@ Revised: ...@@ -1831,7 +1873,7 @@ Revised:
,note="Available: ,note="Available:
\url{http://lwn.net/Articles/263130/} \url{http://lwn.net/Articles/263130/}
[Viewed January 4, 2008]" [Viewed January 4, 2008]"
,annotation=" ,annotation={
Lays out six uses of RCU: Lays out six uses of RCU:
1. RCU is a Reader-Writer Lock Replacement 1. RCU is a Reader-Writer Lock Replacement
2. RCU is a Restricted Reference-Counting Mechanism 2. RCU is a Restricted Reference-Counting Mechanism
...@@ -1839,7 +1881,7 @@ Revised: ...@@ -1839,7 +1881,7 @@ Revised:
4. RCU is a Poor Man's Garbage Collector 4. RCU is a Poor Man's Garbage Collector
5. RCU is a Way of Providing Existence Guarantees 5. RCU is a Way of Providing Existence Guarantees
6. RCU is a Way of Waiting for Things to Finish 6. RCU is a Way of Waiting for Things to Finish
" }
} }
@unpublished{PaulEMcKenney2008WhatIsRCUAPI @unpublished{PaulEMcKenney2008WhatIsRCUAPI
...@@ -1851,10 +1893,10 @@ Revised: ...@@ -1851,10 +1893,10 @@ Revised:
,note="Available: ,note="Available:
\url{http://lwn.net/Articles/264090/} \url{http://lwn.net/Articles/264090/}
[Viewed January 10, 2008]" [Viewed January 10, 2008]"
,annotation=" ,annotation={
Gives an overview of the Linux-kernel RCU API and a brief annotated RCU Gives an overview of the Linux-kernel RCU API and a brief annotated RCU
bibliography. bibliography.
" }
} }
# #
...@@ -1872,10 +1914,10 @@ Revised: ...@@ -1872,10 +1914,10 @@ Revised:
,note="Available: ,note="Available:
\url{http://lkml.org/lkml/2008/1/29/208} \url{http://lkml.org/lkml/2008/1/29/208}
[Viewed March 27, 2008]" [Viewed March 27, 2008]"
,annotation=" ,annotation={
Patch that prevents preemptible RCU from unnecessarily waking Patch that prevents preemptible RCU from unnecessarily waking
up dynticks-idle CPUs. up dynticks-idle CPUs.
" }
} }
@unpublished{PaulEMcKenney2008LKMLDependencyOrdering @unpublished{PaulEMcKenney2008LKMLDependencyOrdering
...@@ -1887,9 +1929,9 @@ Revised: ...@@ -1887,9 +1929,9 @@ Revised:
,note="Available: ,note="Available:
\url{http://lkml.org/lkml/2008/2/2/255} \url{http://lkml.org/lkml/2008/2/2/255}
[Viewed October 18, 2008]" [Viewed October 18, 2008]"
,annotation=" ,annotation={
Explanation of compilers violating dependency ordering. Explanation of compilers violating dependency ordering.
" }
} }
@Conference{PaulEMcKenney2008Beijing @Conference{PaulEMcKenney2008Beijing
...@@ -1916,24 +1958,26 @@ lot of {Linux} into your technology!!!" ...@@ -1916,24 +1958,26 @@ lot of {Linux} into your technology!!!"
,note="Available: ,note="Available:
\url{http://lwn.net/Articles/279077/} \url{http://lwn.net/Articles/279077/}
[Viewed April 24, 2008]" [Viewed April 24, 2008]"
,annotation=" ,annotation={
Describes use of Promela and Spin to validate (and fix!) the Describes use of Promela and Spin to validate (and fix!) the
dynticks/RCU interface. dynticks/RCU interface.
" }
} }
@article{DinakarGuniguntala2008IBMSysJ @article{DinakarGuniguntala2008IBMSysJ
,author="D. Guniguntala and P. E. McKenney and J. Triplett and J. Walpole" ,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}" ,title="The read-copy-update mechanism for supporting real-time applications on shared-memory multiprocessor systems with {Linux}"
,Year="2008" ,Year="2008"
,Month="April-June" ,Month="May"
,journal="IBM Systems Journal" ,journal="IBM Systems Journal"
,volume="47" ,volume="47"
,number="2" ,number="2"
,pages="221-236" ,pages="221-236"
,annotation=" ,annotation={
RCU, realtime RCU, sleepable RCU, performance. RCU, realtime RCU, sleepable RCU, performance.
" http://www.research.ibm.com/journal/sj/472/guniguntala.pdf
[Viewed April 24, 2008]
}
} }
@unpublished{LaiJiangshan2008NewClassicAlgorithm @unpublished{LaiJiangshan2008NewClassicAlgorithm
...@@ -1945,11 +1989,11 @@ lot of {Linux} into your technology!!!" ...@@ -1945,11 +1989,11 @@ lot of {Linux} into your technology!!!"
,note="Available: ,note="Available:
\url{http://lkml.org/lkml/2008/6/2/539} \url{http://lkml.org/lkml/2008/6/2/539}
[Viewed December 10, 2008]" [Viewed December 10, 2008]"
,annotation=" ,annotation={
Updated RCU classic algorithm. Introduced multi-tailed list Updated RCU classic algorithm. Introduced multi-tailed list
for RCU callbacks and also pulling common code into for RCU callbacks and also pulling common code into
__call_rcu(). __call_rcu().
" }
} }
@article{PaulEMcKenney2008RCUOSR @article{PaulEMcKenney2008RCUOSR
...@@ -1966,6 +2010,7 @@ lot of {Linux} into your technology!!!" ...@@ -1966,6 +2010,7 @@ lot of {Linux} into your technology!!!"
,address="New York, NY, USA" ,address="New York, NY, USA"
,annotation={ ,annotation={
Linux changed RCU to a far greater degree than RCU has changed Linux. Linux changed RCU to a far greater degree than RCU has changed Linux.
http://portal.acm.org/citation.cfm?doid=1400097.1400099
} }
} }
...@@ -1978,10 +2023,10 @@ lot of {Linux} into your technology!!!" ...@@ -1978,10 +2023,10 @@ lot of {Linux} into your technology!!!"
,note="Available: ,note="Available:
\url{http://lkml.org/lkml/2008/8/21/336} \url{http://lkml.org/lkml/2008/8/21/336}
[Viewed December 8, 2008]" [Viewed December 8, 2008]"
,annotation=" ,annotation={
State-based RCU. One key thing that this patch does is to State-based RCU. One key thing that this patch does is to
separate the dynticks handling of NMIs and IRQs. separate the dynticks handling of NMIs and IRQs.
" }
} }
@unpublished{ManfredSpraul2008dyntickIRQNMI @unpublished{ManfredSpraul2008dyntickIRQNMI
...@@ -1993,12 +2038,13 @@ lot of {Linux} into your technology!!!" ...@@ -1993,12 +2038,13 @@ lot of {Linux} into your technology!!!"
,note="Available: ,note="Available:
\url{http://lkml.org/lkml/2008/9/6/86} \url{http://lkml.org/lkml/2008/9/6/86}
[Viewed December 8, 2008]" [Viewed December 8, 2008]"
,annotation=" ,annotation={
Manfred notes a fix required to my attempt to separate irq Manfred notes a fix required to my attempt to separate irq
and NMI processing for hierarchical RCU's dynticks interface. and NMI processing for hierarchical RCU's dynticks interface.
" }
} }
# Was PaulEMcKenney2011cyclicRCU
@techreport{PaulEMcKenney2008cyclicRCU @techreport{PaulEMcKenney2008cyclicRCU
,author="Paul E. McKenney" ,author="Paul E. McKenney"
,title="Efficient Support of Consistent Cyclic Search With Read-Copy Update" ,title="Efficient Support of Consistent Cyclic Search With Read-Copy Update"
...@@ -2008,11 +2054,11 @@ lot of {Linux} into your technology!!!" ...@@ -2008,11 +2054,11 @@ lot of {Linux} into your technology!!!"
,number="US Patent 7,426,511" ,number="US Patent 7,426,511"
,month="September" ,month="September"
,pages="23" ,pages="23"
,annotation=" ,annotation={
Maintains an additional level of indirection to allow Maintains an additional level of indirection to allow
readers to confine themselves to the desired snapshot of the readers to confine themselves to the desired snapshot of the
data structure. Only permits one update at a time. data structure. Only permits one update at a time.
" }
} }
@unpublished{PaulEMcKenney2008HierarchicalRCU @unpublished{PaulEMcKenney2008HierarchicalRCU
...@@ -2021,13 +2067,12 @@ lot of {Linux} into your technology!!!" ...@@ -2021,13 +2067,12 @@ lot of {Linux} into your technology!!!"
,month="November" ,month="November"
,day="3" ,day="3"
,year="2008" ,year="2008"
,note="Available: ,note="\url{http://lwn.net/Articles/305782/}"
\url{http://lwn.net/Articles/305782/} ,annotation={
[Viewed November 6, 2008]"
,annotation="
RCU with combining-tree-based grace-period detection, RCU with combining-tree-based grace-period detection,
permitting it to handle thousands of CPUs. permitting it to handle thousands of CPUs.
" [Viewed November 6, 2008]
}
} }
@unpublished{PaulEMcKenney2009BloatwatchRCU @unpublished{PaulEMcKenney2009BloatwatchRCU
...@@ -2039,10 +2084,10 @@ lot of {Linux} into your technology!!!" ...@@ -2039,10 +2084,10 @@ lot of {Linux} into your technology!!!"
,note="Available: ,note="Available:
\url{http://lkml.org/lkml/2009/1/14/449} \url{http://lkml.org/lkml/2009/1/14/449}
[Viewed January 15, 2009]" [Viewed January 15, 2009]"
,annotation=" ,annotation={
Small-footprint implementation of RCU for uniprocessor Small-footprint implementation of RCU for uniprocessor
embedded applications -- and also for exposition purposes. embedded applications -- and also for exposition purposes.
" }
} }
@conference{PaulEMcKenney2009MaliciousURCU @conference{PaulEMcKenney2009MaliciousURCU
...@@ -2055,9 +2100,9 @@ lot of {Linux} into your technology!!!" ...@@ -2055,9 +2100,9 @@ lot of {Linux} into your technology!!!"
,note="Available: ,note="Available:
\url{http://www.rdrop.com/users/paulmck/RCU/urcutorture.2009.01.22a.pdf} \url{http://www.rdrop.com/users/paulmck/RCU/urcutorture.2009.01.22a.pdf}
[Viewed February 2, 2009]" [Viewed February 2, 2009]"
,annotation=" ,annotation={
Realtime RCU and torture-testing RCU uses. Realtime RCU and torture-testing RCU uses.
" }
} }
@unpublished{MathieuDesnoyers2009URCU @unpublished{MathieuDesnoyers2009URCU
...@@ -2066,16 +2111,14 @@ lot of {Linux} into your technology!!!" ...@@ -2066,16 +2111,14 @@ lot of {Linux} into your technology!!!"
,month="February" ,month="February"
,day="5" ,day="5"
,year="2009" ,year="2009"
,note="Available: ,note="\url{http://lttng.org/urcu}"
\url{http://lkml.org/lkml/2009/2/5/572} ,annotation={
\url{http://lttng.org/urcu}
[Viewed February 20, 2009]"
,annotation="
Mathieu Desnoyers's user-space RCU implementation. Mathieu Desnoyers's user-space RCU implementation.
git://lttng.org/userspace-rcu.git git://lttng.org/userspace-rcu.git
http://lttng.org/cgi-bin/gitweb.cgi?p=userspace-rcu.git http://lttng.org/cgi-bin/gitweb.cgi?p=userspace-rcu.git
http://lttng.org/urcu http://lttng.org/urcu
" http://lkml.org/lkml/2009/2/5/572
}
} }
@unpublished{PaulEMcKenney2009LWNBloatWatchRCU @unpublished{PaulEMcKenney2009LWNBloatWatchRCU
...@@ -2087,9 +2130,24 @@ lot of {Linux} into your technology!!!" ...@@ -2087,9 +2130,24 @@ lot of {Linux} into your technology!!!"
,note="Available: ,note="Available:
\url{http://lwn.net/Articles/323929/} \url{http://lwn.net/Articles/323929/}
[Viewed March 20, 2009]" [Viewed March 20, 2009]"
,annotation=" ,annotation={
Uniprocessor assumptions allow simplified RCU implementation. Uniprocessor assumptions allow simplified RCU implementation.
" }
}
@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.
}
} }
@unpublished{PaulEMcKenney2009expeditedRCU @unpublished{PaulEMcKenney2009expeditedRCU
...@@ -2101,9 +2159,9 @@ lot of {Linux} into your technology!!!" ...@@ -2101,9 +2159,9 @@ lot of {Linux} into your technology!!!"
,note="Available: ,note="Available:
\url{http://lkml.org/lkml/2009/6/25/306} \url{http://lkml.org/lkml/2009/6/25/306}
[Viewed August 16, 2009]" [Viewed August 16, 2009]"
,annotation=" ,annotation={
First posting of expedited RCU to be accepted into -tip. First posting of expedited RCU to be accepted into -tip.
" }
} }
@unpublished{PaulEMcKenney2009fastRTRCU @unpublished{PaulEMcKenney2009fastRTRCU
...@@ -2115,21 +2173,21 @@ lot of {Linux} into your technology!!!" ...@@ -2115,21 +2173,21 @@ lot of {Linux} into your technology!!!"
,note="Available: ,note="Available:
\url{http://lkml.org/lkml/2009/7/23/294} \url{http://lkml.org/lkml/2009/7/23/294}
[Viewed August 15, 2009]" [Viewed August 15, 2009]"
,annotation=" ,annotation={
First posting of simple and fast preemptable RCU. First posting of simple and fast preemptable RCU.
" }
} }
@InProceedings{JoshTriplett2009RPHash @unpublished{JoshTriplett2009RPHash
,Author="Josh Triplett" ,Author="Josh Triplett"
,Title="Scalable concurrent hash tables via relativistic programming" ,Title="Scalable concurrent hash tables via relativistic programming"
,month="September" ,month="September"
,year="2009" ,year="2009"
,booktitle="Linux Plumbers Conference 2009" ,note="Linux Plumbers Conference presentation"
,annotation=" ,annotation={
RP fun with hash tables. RP fun with hash tables.
See also JoshTriplett2010RPHash Superseded by JoshTriplett2010RPHash
" }
} }
@phdthesis{MathieuDesnoyersPhD @phdthesis{MathieuDesnoyersPhD
...@@ -2154,9 +2212,9 @@ lot of {Linux} into your technology!!!" ...@@ -2154,9 +2212,9 @@ lot of {Linux} into your technology!!!"
,note="Available: ,note="Available:
\url{http://wiki.cs.pdx.edu/rp/} \url{http://wiki.cs.pdx.edu/rp/}
[Viewed December 9, 2009]" [Viewed December 9, 2009]"
,annotation=" ,annotation={
Main Relativistic Programming Wiki. Main Relativistic Programming Wiki.
" }
} }
@conference{PaulEMcKenney2009DeterministicRCU @conference{PaulEMcKenney2009DeterministicRCU
...@@ -2180,9 +2238,9 @@ lot of {Linux} into your technology!!!" ...@@ -2180,9 +2238,9 @@ lot of {Linux} into your technology!!!"
,note="Available: ,note="Available:
\url{http://paulmck.livejournal.com/14639.html} \url{http://paulmck.livejournal.com/14639.html}
[Viewed June 4, 2010]" [Viewed June 4, 2010]"
,annotation=" ,annotation={
Day-one bug in Tree RCU that took forever to track down. Day-one bug in Tree RCU that took forever to track down.
" }
} }
@unpublished{MathieuDesnoyers2009defer:rcu @unpublished{MathieuDesnoyers2009defer:rcu
...@@ -2193,10 +2251,10 @@ lot of {Linux} into your technology!!!" ...@@ -2193,10 +2251,10 @@ lot of {Linux} into your technology!!!"
,note="Available: ,note="Available:
\url{http://lkml.org/lkml/2009/10/18/129} \url{http://lkml.org/lkml/2009/10/18/129}
[Viewed December 29, 2009]" [Viewed December 29, 2009]"
,annotation=" ,annotation={
Mathieu proposed defer_rcu() with fixed-size per-thread pool Mathieu proposed defer_rcu() with fixed-size per-thread pool
of RCU callbacks. of RCU callbacks.
" }
} }
@unpublished{MathieuDesnoyers2009VerifPrePub @unpublished{MathieuDesnoyers2009VerifPrePub
...@@ -2205,10 +2263,10 @@ lot of {Linux} into your technology!!!" ...@@ -2205,10 +2263,10 @@ lot of {Linux} into your technology!!!"
,month="December" ,month="December"
,year="2009" ,year="2009"
,note="Submitted to IEEE TPDS" ,note="Submitted to IEEE TPDS"
,annotation=" ,annotation={
OOMem model for Mathieu's user-level RCU mechanical proof of OOMem model for Mathieu's user-level RCU mechanical proof of
correctness. correctness.
" }
} }
@unpublished{MathieuDesnoyers2009URCUPrePub @unpublished{MathieuDesnoyers2009URCUPrePub
...@@ -2216,15 +2274,15 @@ lot of {Linux} into your technology!!!" ...@@ -2216,15 +2274,15 @@ lot of {Linux} into your technology!!!"
,Title="User-Level Implementations of Read-Copy Update" ,Title="User-Level Implementations of Read-Copy Update"
,month="December" ,month="December"
,year="2010" ,year="2010"
,url=\url{http://www.computer.org/csdl/trans/td/2012/02/ttd2012020375-abs.html} ,url={\url{http://www.computer.org/csdl/trans/td/2012/02/ttd2012020375-abs.html}}
,annotation=" ,annotation={
RCU overview, desiderata, semi-formal semantics, user-level RCU RCU overview, desiderata, semi-formal semantics, user-level RCU
usage scenarios, three classes of RCU implementation, wait-free usage scenarios, three classes of RCU implementation, wait-free
RCU updates, RCU grace-period batching, update overhead, RCU updates, RCU grace-period batching, update overhead,
http://www.rdrop.com/users/paulmck/RCU/urcu-main-accepted.2011.08.30a.pdf http://www.rdrop.com/users/paulmck/RCU/urcu-main-accepted.2011.08.30a.pdf
http://www.rdrop.com/users/paulmck/RCU/urcu-supp-accepted.2011.08.30a.pdf http://www.rdrop.com/users/paulmck/RCU/urcu-supp-accepted.2011.08.30a.pdf
Superseded by MathieuDesnoyers2012URCU. Superseded by MathieuDesnoyers2012URCU.
" }
} }
@inproceedings{HariKannan2009DynamicAnalysisRCU @inproceedings{HariKannan2009DynamicAnalysisRCU
...@@ -2240,7 +2298,8 @@ lot of {Linux} into your technology!!!" ...@@ -2240,7 +2298,8 @@ lot of {Linux} into your technology!!!"
,address = {New York, NY, USA} ,address = {New York, NY, USA}
,annotation={ ,annotation={
Uses RCU to protect metadata used in dynamic analysis. Uses RCU to protect metadata used in dynamic analysis.
}} }
}
@conference{PaulEMcKenney2010SimpleOptRCU @conference{PaulEMcKenney2010SimpleOptRCU
,Author="Paul E. McKenney" ,Author="Paul E. McKenney"
...@@ -2252,10 +2311,10 @@ lot of {Linux} into your technology!!!" ...@@ -2252,10 +2311,10 @@ lot of {Linux} into your technology!!!"
,note="Available: ,note="Available:
\url{http://www.rdrop.com/users/paulmck/RCU/SimplicityThruOptimization.2010.01.21f.pdf} \url{http://www.rdrop.com/users/paulmck/RCU/SimplicityThruOptimization.2010.01.21f.pdf}
[Viewed October 10, 2010]" [Viewed October 10, 2010]"
,annotation=" ,annotation={
TREE_PREEMPT_RCU optimizations greatly simplified the old TREE_PREEMPT_RCU optimizations greatly simplified the old
PREEMPT_RCU implementation. PREEMPT_RCU implementation.
" }
} }
@unpublished{PaulEMcKenney2010LockdepRCU @unpublished{PaulEMcKenney2010LockdepRCU
...@@ -2264,12 +2323,11 @@ lot of {Linux} into your technology!!!" ...@@ -2264,12 +2323,11 @@ lot of {Linux} into your technology!!!"
,month="February" ,month="February"
,year="2010" ,year="2010"
,day="1" ,day="1"
,note="Available: ,note="\url{https://lwn.net/Articles/371986/}"
\url{https://lwn.net/Articles/371986/} ,annotation={
[Viewed June 4, 2010]"
,annotation="
CONFIG_PROVE_RCU, or at least an early version. CONFIG_PROVE_RCU, or at least an early version.
" [Viewed June 4, 2010]
}
} }
@unpublished{AviKivity2010KVM2RCU @unpublished{AviKivity2010KVM2RCU
...@@ -2280,10 +2338,10 @@ lot of {Linux} into your technology!!!" ...@@ -2280,10 +2338,10 @@ lot of {Linux} into your technology!!!"
,note="Available: ,note="Available:
\url{http://www.mail-archive.com/kvm@vger.kernel.org/msg28640.html} \url{http://www.mail-archive.com/kvm@vger.kernel.org/msg28640.html}
[Viewed March 20, 2010]" [Viewed March 20, 2010]"
,annotation=" ,annotation={
Use of RCU permits KVM to increase the size of guest OSes from Use of RCU permits KVM to increase the size of guest OSes from
16 CPUs to 64 CPUs. 16 CPUs to 64 CPUs.
" }
} }
@unpublished{HerbertXu2010RCUResizeHash @unpublished{HerbertXu2010RCUResizeHash
...@@ -2297,7 +2355,19 @@ lot of {Linux} into your technology!!!" ...@@ -2297,7 +2355,19 @@ lot of {Linux} into your technology!!!"
,annotation={ ,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. resizable hash tables.
}} }
}
@mastersthesis{AbhinavDuggal2010Masters
,author="Abhinav Duggal"
,title="Stopping Data Races Using Redflag"
,school="Stony Brook University"
,year="2010"
,annotation={
Data-race detector incorporating RCU.
http://www.filesystems.org/docs/abhinav-thesis/abhinav_thesis.pdf
}
}
@article{JoshTriplett2010RPHash @article{JoshTriplett2010RPHash
,author="Josh Triplett and Paul E. McKenney and Jonathan Walpole" ,author="Josh Triplett and Paul E. McKenney and Jonathan Walpole"
...@@ -2310,7 +2380,8 @@ lot of {Linux} into your technology!!!" ...@@ -2310,7 +2380,8 @@ lot of {Linux} into your technology!!!"
,annotation={ ,annotation={
RP fun with hash tables. RP fun with hash tables.
http://portal.acm.org/citation.cfm?id=1842733.1842750 http://portal.acm.org/citation.cfm?id=1842733.1842750
}} }
}
@unpublished{PaulEMcKenney2010RCUAPI @unpublished{PaulEMcKenney2010RCUAPI
,Author="Paul E. McKenney" ,Author="Paul E. McKenney"
...@@ -2318,12 +2389,11 @@ lot of {Linux} into your technology!!!" ...@@ -2318,12 +2389,11 @@ lot of {Linux} into your technology!!!"
,month="December" ,month="December"
,day="8" ,day="8"
,year="2010" ,year="2010"
,note="Available: ,note="\url{http://lwn.net/Articles/418853/}"
\url{http://lwn.net/Articles/418853/} ,annotation={
[Viewed December 8, 2010]"
,annotation="
Includes updated software-engineering features. Includes updated software-engineering features.
" [Viewed December 8, 2010]
}
} }
@mastersthesis{AndrejPodzimek2010masters @mastersthesis{AndrejPodzimek2010masters
...@@ -2338,7 +2408,8 @@ lot of {Linux} into your technology!!!" ...@@ -2338,7 +2408,8 @@ lot of {Linux} into your technology!!!"
Reviews RCU implementations and creates a few for OpenSolaris. Reviews RCU implementations and creates a few for OpenSolaris.
Drives quiescent-state detection from RCU read-side primitives, Drives quiescent-state detection from RCU read-side primitives,
in a manner roughly similar to that of Jim Houston. in a manner roughly similar to that of Jim Houston.
}} }
}
@unpublished{LinusTorvalds2011Linux2:6:38:rc1:NPigginVFS @unpublished{LinusTorvalds2011Linux2:6:38:rc1:NPigginVFS
,Author="Linus Torvalds" ,Author="Linus Torvalds"
...@@ -2358,7 +2429,8 @@ lot of {Linux} into your technology!!!" ...@@ -2358,7 +2429,8 @@ lot of {Linux} into your technology!!!"
of the most expensive parts of path component lookup, which was the 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." on some seriously pathname-lookup intensive loads."
}} }
}
@techreport{JoshTriplett2011RPScalableCorrectOrdering @techreport{JoshTriplett2011RPScalableCorrectOrdering
,author = {Josh Triplett and Philip W. Howard and Paul E. McKenney and Jonathan Walpole} ,author = {Josh Triplett and Philip W. Howard and Paul E. McKenney and Jonathan Walpole}
...@@ -2392,12 +2464,12 @@ lot of {Linux} into your technology!!!" ...@@ -2392,12 +2464,12 @@ lot of {Linux} into your technology!!!"
,number="US Patent 7,953,778" ,number="US Patent 7,953,778"
,month="May" ,month="May"
,pages="34" ,pages="34"
,annotation=" ,annotation={
Maintains an array of generation numbers to track in-flight Maintains an array of generation numbers to track in-flight
updates and keeps an additional level of indirection to allow updates and keeps an additional level of indirection to allow
readers to confine themselves to the desired snapshot of the readers to confine themselves to the desired snapshot of the
data structure. data structure.
" }
} }
@inproceedings{Triplett:2011:RPHash @inproceedings{Triplett:2011:RPHash
...@@ -2408,7 +2480,7 @@ lot of {Linux} into your technology!!!" ...@@ -2408,7 +2480,7 @@ lot of {Linux} into your technology!!!"
,year = {2011} ,year = {2011}
,pages = {145--158} ,pages = {145--158}
,numpages = {14} ,numpages = {14}
,url={http://www.usenix.org/event/atc11/tech/final_files/atc11_proceedings.pdf} ,url={http://www.usenix.org/event/atc11/tech/final_files/Triplett.pdf}
,publisher = {The USENIX Association} ,publisher = {The USENIX Association}
,address = {Portland, OR USA} ,address = {Portland, OR USA}
} }
...@@ -2419,27 +2491,58 @@ lot of {Linux} into your technology!!!" ...@@ -2419,27 +2491,58 @@ lot of {Linux} into your technology!!!"
,month="July" ,month="July"
,day="27" ,day="27"
,year="2011" ,year="2011"
,note="Available: ,note="\url{http://lwn.net/Articles/453002/}"
\url{http://lwn.net/Articles/453002/} ,annotation={
[Viewed July 27, 2011]"
,annotation="
Analysis of the RCU trainwreck in Linux kernel 3.0. Analysis of the RCU trainwreck in Linux kernel 3.0.
" [Viewed July 27, 2011]
}
} }
@unpublished{NeilBrown2011MeetTheLockers @unpublished{NeilBrown2011MeetTheLockers
,Author="Neil Brown" ,Author="Neil Brown"
,Title="Meet the Lockers" ,Title="Meet the {Lockers}"
,month="August" ,month="August"
,day="3" ,day="3"
,year="2011" ,year="2011"
,note="Available: ,note="Available:
\url{http://lwn.net/Articles/453685/} \url{http://lwn.net/Articles/453685/}
[Viewed September 2, 2011]" [Viewed September 2, 2011]"
,annotation=" ,annotation={
The Locker family as an analogy for locking, reference counting, The Locker family as an analogy for locking, reference counting,
RCU, and seqlock. RCU, and seqlock.
" }
}
@inproceedings{Seyster:2011:RFA:2075416.2075425
,author = {Seyster, Justin and Radhakrishnan, Prabakar and Katoch, Samriti and Duggal, Abhinav and Stoller, Scott D. and Zadok, Erez}
,title = {Redflag: a framework for analysis of Kernel-level concurrency}
,booktitle = {Proceedings of the 11th international conference on Algorithms and architectures for parallel processing - Volume Part I}
,series = {ICA3PP'11}
,year = {2011}
,isbn = {978-3-642-24649-4}
,location = {Melbourne, Australia}
,pages = {66--79}
,numpages = {14}
,url = {http://dl.acm.org/citation.cfm?id=2075416.2075425}
,acmid = {2075425}
,publisher = {Springer-Verlag}
,address = {Berlin, Heidelberg}
}
@phdthesis{JoshTriplettPhD
,author="Josh Triplett"
,title="Relativistic Causal Ordering: A Memory Model for Scalable Concurrent Data Structures"
,school="Portland State University"
,year="2012"
,annotation={
RCU-protected hash tables, barriers vs. read-side traversal order.
.
If the updater is making changes in the opposite direction from
the read-side traveral order, the updater need only execute a
memory-barrier instruction, but if in the same direction, the
updater needs to wait for a grace period between the individual
updates.
}
} }
@article{MathieuDesnoyers2012URCU @article{MathieuDesnoyers2012URCU
...@@ -2459,5 +2562,150 @@ lot of {Linux} into your technology!!!" ...@@ -2459,5 +2562,150 @@ lot of {Linux} into your technology!!!"
RCU updates, RCU grace-period batching, update overhead, RCU updates, RCU grace-period batching, update overhead,
http://www.rdrop.com/users/paulmck/RCU/urcu-main-accepted.2011.08.30a.pdf http://www.rdrop.com/users/paulmck/RCU/urcu-main-accepted.2011.08.30a.pdf
http://www.rdrop.com/users/paulmck/RCU/urcu-supp-accepted.2011.08.30a.pdf http://www.rdrop.com/users/paulmck/RCU/urcu-supp-accepted.2011.08.30a.pdf
http://www.computer.org/cms/Computer.org/dl/trans/td/2012/02/extras/ttd2012020375s.pdf
}
}
@inproceedings{AustinClements2012RCULinux:mmapsem
,author = {Austin Clements and Frans Kaashoek and Nickolai Zeldovich}
,title = {Scalable Address Spaces Using {RCU} Balanced Trees}
,booktitle = {Architectural Support for Programming Languages and Operating Systems (ASPLOS 2012)}
,month = {March}
,year = {2012}
,pages = {199--210}
,numpages = {12}
,publisher = {ACM}
,address = {London, UK}
,url="http://people.csail.mit.edu/nickolai/papers/clements-bonsai.pdf"
}
@unpublished{PaulEMcKenney2012ELCbattery
,Author="Paul E. McKenney"
,Title="Making {RCU} Safe For Battery-Powered Devices"
,month="February"
,day="15"
,year="2012"
,note="Available:
\url{http://www.rdrop.com/users/paulmck/RCU/RCUdynticks.2012.02.15b.pdf}
[Viewed March 1, 2012]"
,annotation={
RCU_FAST_NO_HZ, round 2.
}
}
@article{GuillermoVigueras2012RCUCrowd
,author = {Vigueras, Guillermo and Ordu\~{n}a, Juan M. and Lozano, Miguel}
,day = {25}
,doi = {10.1007/s11227-012-0766-x}
,issn = {0920-8542}
,journal = {The Journal of Supercomputing}
,keywords = {linux, simulation}
,month = apr
,posted-at = {2012-05-03 09:12:04}
,priority = {2}
,title = {{A Read-Copy Update based parallel server for distributed crowd simulations}}
,url = {http://dx.doi.org/10.1007/s11227-012-0766-x}
,year = {2012}
}
@unpublished{JonCorbet2012ACCESS:ONCE
,Author="Jon Corbet"
,Title="{ACCESS\_ONCE()}"
,month="August"
,day="1"
,year="2012"
,note="\url{http://lwn.net/Articles/508991/}"
,annotation={
A couple of simple specific compiler optimizations that motivate
ACCESS_ONCE().
}
}
@unpublished{AlexeyGotsman2012VerifyGraceExtended
,Author="Alexey Gotsman and Noam Rinetzky and Hongseok Yang"
,Title="Verifying Highly Concurrent Algorithms with Grace (extended version)"
,month="July"
,day="10"
,year="2012"
,note="\url{http://software.imdea.org/~gotsman/papers/recycling-esop13-ext.pdf}"
,annotation={
Separation-logic formulation of RCU uses.
}
}
@unpublished{PaulMcKenney2012RCUUsage
,Author="Paul E. McKenney and Silas Boyd-Wickizer and Jonathan Walpole"
,Title="{RCU} Usage In the Linux Kernel: One Decade Later"
,month="September"
,day="17"
,year="2012"
,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.
}
}
@unpublished{JonCorbet2012NOCB
,Author="Jon Corbet"
,Title="Relocating RCU callbacks"
,month="October"
,day="31"
,year="2012"
,note="\url{http://lwn.net/Articles/522262/}"
,annotation={
Overview of the first variant of no-CBs CPUs for RCU.
}
}
@phdthesis{JustinSeyster2012PhD
,author="Justin Seyster"
,title="Runtime Verification of Kernel-Level Concurrency Using Compiler-Based Instrumentation"
,school="Stony Brook University"
,year="2012"
,annotation={
Looking for data races, including those involving RCU.
Proposal:
http://www.fsl.cs.sunysb.edu/docs/jseyster-proposal/redflag.pdf
Dissertation:
http://www.fsl.cs.sunysb.edu/docs/jseyster-dissertation/redflag.pdf
}
}
@unpublished{PaulEMcKenney2013RCUUsage
,Author="Paul E. McKenney and Silas Boyd-Wickizer and Jonathan Walpole"
,Title="{RCU} Usage in the {Linux} Kernel: One Decade Later"
,month="February"
,day="24"
,year="2013"
,note="\url{http://rdrop.com/users/paulmck/techreports/RCUUsage.2013.02.24a.pdf}"
,annotation={
Usage of RCU within the Linux kernel.
}
}
@inproceedings{AlexeyGotsman2013ESOPRCU
,author = {Alexey Gotsman and Noam Rinetzky and Hongseok Yang}
,title = {Verifying concurrent memory reclamation algorithms with grace}
,booktitle = {ESOP'13: European Symposium on Programming}
,year = {2013}
,pages = {249--269}
,publisher = {Springer}
,address = {Rome, Italy}
,annotation={
http://software.imdea.org/~gotsman/papers/recycling-esop13.pdf
}
}
@unpublished{PaulEMcKenney2013NoTinyPreempt
,Author="Paul E. McKenney"
,Title="Simplifying RCU"
,month="March"
,day="6"
,year="2013"
,note="\url{http://lwn.net/Articles/541037/}"
,annotation={
Getting rid of TINY_PREEMPT_RCU.
} }
} }
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment