xref: /linux/Documentation/RCU/RTFP.txt (revision 6ae3771850910018c89b4ce063c52008bf2c8d6a)
14c62abc9SPaul E. McKenneyRead the Fscking Papers!
21da177e4SLinus Torvalds
31da177e4SLinus Torvalds
41da177e4SLinus TorvaldsThis document describes RCU-related publications, and is followed by
5dd81eca8SPaul E. McKenneythe corresponding bibtex entries.  A number of the publications may
64c62abc9SPaul E. McKenneybe found at http://www.rdrop.com/users/paulmck/RCU/.  For others, browsers
74c62abc9SPaul E. McKenneyand search engines will usually find what you are looking for.
81da177e4SLinus Torvalds
91da177e4SLinus TorvaldsThe first thing resembling RCU was published in 1980, when Kung and Lehman
101da177e4SLinus Torvalds[Kung80] recommended use of a garbage collector to defer destruction
111da177e4SLinus Torvaldsof nodes in a parallel binary search tree in order to simplify its
121da177e4SLinus Torvaldsimplementation.  This works well in environments that have garbage
13f85d6c71SPaul E. McKenneycollectors, but most production garbage collectors incur significant
14f85d6c71SPaul E. McKenneyoverhead.
151da177e4SLinus Torvalds
161da177e4SLinus TorvaldsIn 1982, Manber and Ladner [Manber82,Manber84] recommended deferring
171da177e4SLinus Torvaldsdestruction until all threads running at that time have terminated, again
181da177e4SLinus Torvaldsfor a parallel binary search tree.  This approach works well in systems
191da177e4SLinus Torvaldswith short-lived threads, such as the K42 research operating system.
201da177e4SLinus TorvaldsHowever, Linux has long-lived tasks, so more is needed.
211da177e4SLinus Torvalds
221da177e4SLinus TorvaldsIn 1986, Hennessy, Osisek, and Seigh [Hennessy89] introduced passive
231da177e4SLinus Torvaldsserialization, which is an RCU-like mechanism that relies on the presence
241da177e4SLinus Torvaldsof "quiescent states" in the VM/XA hypervisor that are guaranteed not
251da177e4SLinus Torvaldsto be referencing the data structure.  However, this mechanism was not
261da177e4SLinus Torvaldsoptimized for modern computer systems, which is not surprising given
271da177e4SLinus Torvaldsthat these overheads were not so expensive in the mid-80s.  Nonetheless,
281da177e4SLinus Torvaldspassive serialization appears to be the first deferred-destruction
294c54005cSPaul E. McKenneymechanism to be used in production.  Furthermore, the relevant patent
304c54005cSPaul E. McKenneyhas lapsed, so this approach may be used in non-GPL software, if desired.
314c54005cSPaul E. McKenney(In contrast, implementation of RCU is permitted only in software licensed
324c54005cSPaul E. McKenneyunder either GPL or LGPL.  Sorry!!!)
331da177e4SLinus Torvalds
341da177e4SLinus TorvaldsIn 1990, Pugh [Pugh90] noted that explicitly tracking which threads
351da177e4SLinus Torvaldswere reading a given data structure permitted deferred free to operate
361da177e4SLinus Torvaldsin the presence of non-terminating threads.  However, this explicit
371da177e4SLinus Torvaldstracking imposes significant read-side overhead, which is undesirable
381da177e4SLinus Torvaldsin read-mostly situations.  This algorithm does take pains to avoid
391da177e4SLinus Torvaldswrite-side contention and parallelize the other write-side overheads by
401da177e4SLinus Torvaldsproviding a fine-grained locking design, however, it would be interesting
411da177e4SLinus Torvaldsto see how much of the performance advantage reported in 1990 remains
42*6ae37718SPaul E. McKenneytoday.
431da177e4SLinus Torvalds
441da177e4SLinus TorvaldsAt about this same time, Adams [Adams91] described ``chaotic relaxation'',
451da177e4SLinus Torvaldswhere the normal barriers between successive iterations of convergent
461da177e4SLinus Torvaldsnumerical algorithms are relaxed, so that iteration $n$ might use
471da177e4SLinus Torvaldsdata from iteration $n-1$ or even $n-2$.  This introduces error,
481da177e4SLinus Torvaldswhich typically slows convergence and thus increases the number of
491da177e4SLinus Torvaldsiterations required.  However, this increase is sometimes more than made
501da177e4SLinus Torvaldsup for by a reduction in the number of expensive barrier operations,
511da177e4SLinus Torvaldswhich are otherwise required to synchronize the threads at the end
521da177e4SLinus Torvaldsof each iteration.  Unfortunately, chaotic relaxation requires highly
531da177e4SLinus Torvaldsstructured data, such as the matrices used in scientific programs, and
541da177e4SLinus Torvaldsis thus inapplicable to most data structures in operating-system kernels.
551da177e4SLinus Torvalds
5632300751SPaul E. McKenneyIn 1992, Henry (now Alexia) Massalin completed a dissertation advising
5732300751SPaul E. McKenneyparallel programmers to defer processing when feasible to simplify
5832300751SPaul E. McKenneysynchronization.  RCU makes extremely heavy use of this advice.
5932300751SPaul E. McKenney
601da177e4SLinus TorvaldsIn 1993, Jacobson [Jacobson93] verbally described what is perhaps the
611da177e4SLinus Torvaldssimplest deferred-free technique: simply waiting a fixed amount of time
621da177e4SLinus Torvaldsbefore freeing blocks awaiting deferred free.  Jacobson did not describe
631da177e4SLinus Torvaldsany write-side changes he might have made in this work using SGI's Irix
641da177e4SLinus Torvaldskernel.  Aju John published a similar technique in 1995 [AjuJohn95].
651da177e4SLinus TorvaldsThis works well if there is a well-defined upper bound on the length of
661da177e4SLinus Torvaldstime that reading threads can hold references, as there might well be in
671da177e4SLinus Torvaldshard real-time systems.  However, if this time is exceeded, perhaps due
681da177e4SLinus Torvaldsto preemption, excessive interrupts, or larger-than-anticipated load,
691da177e4SLinus Torvaldsmemory corruption can ensue, with no reasonable means of diagnosis.
701da177e4SLinus TorvaldsJacobson's technique is therefore inappropriate for use in production
711da177e4SLinus Torvaldsoperating-system kernels, except when such kernels can provide hard
721da177e4SLinus Torvaldsreal-time response guarantees for all operations.
731da177e4SLinus Torvalds
741da177e4SLinus TorvaldsAlso in 1995, Pu et al. [Pu95a] applied a technique similar to that of Pugh's
751da177e4SLinus Torvaldsread-side-tracking to permit replugging of algorithms within a commercial
761da177e4SLinus TorvaldsUnix operating system.  However, this replugging permitted only a single
771da177e4SLinus Torvaldsreader at a time.  The following year, this same group of researchers
781da177e4SLinus Torvaldsextended their technique to allow for multiple readers [Cowan96a].
791da177e4SLinus TorvaldsTheir approach requires memory barriers (and thus pipeline stalls),
801da177e4SLinus Torvaldsbut reduces memory latency, contention, and locking overheads.
811da177e4SLinus Torvalds
821da177e4SLinus Torvalds1995 also saw the first publication of DYNIX/ptx's RCU mechanism
831da177e4SLinus Torvalds[Slingwine95], which was optimized for modern CPU architectures,
841da177e4SLinus Torvaldsand was successfully applied to a number of situations within the
851da177e4SLinus TorvaldsDYNIX/ptx kernel.  The corresponding conference paper appeared in 1998
861da177e4SLinus Torvalds[McKenney98].
871da177e4SLinus Torvalds
881da177e4SLinus TorvaldsIn 1999, the Tornado and K42 groups described their "generations"
89*6ae37718SPaul E. McKenneymechanism, which is quite similar to RCU [Gamsa99].  These operating
90*6ae37718SPaul E. McKenneysystems made pervasive use of RCU in place of "existence locks", which
91*6ae37718SPaul E. McKenneygreatly simplifies locking hierarchies and helps avoid deadlocks.
921da177e4SLinus Torvalds
931da177e4SLinus Torvalds2001 saw the first RCU presentation involving Linux [McKenney01a]
941da177e4SLinus Torvaldsat OLS.  The resulting abundance of RCU patches was presented the
951da177e4SLinus Torvaldsfollowing year [McKenney02a], and use of RCU in dcache was first
961da177e4SLinus Torvaldsdescribed that same year [Linder02a].
971da177e4SLinus Torvalds
98d19720a9SPaul E. McKenneyAlso in 2002, Michael [Michael02b,Michael02a] presented "hazard-pointer"
99d19720a9SPaul E. McKenneytechniques that defer the destruction of data structures to simplify
100d19720a9SPaul E. McKenneynon-blocking synchronization (wait-free synchronization, lock-free
101d19720a9SPaul E. McKenneysynchronization, and obstruction-free synchronization are all examples of
102d19720a9SPaul E. McKenneynon-blocking synchronization).  In particular, this technique eliminates
103d19720a9SPaul E. McKenneylocking, reduces contention, reduces memory latency for readers, and
104d19720a9SPaul E. McKenneyparallelizes pipeline stalls and memory latency for writers.  However,
105d19720a9SPaul E. McKenneythese techniques still impose significant read-side overhead in the
106d19720a9SPaul E. McKenneyform of memory barriers.  Researchers at Sun worked along similar lines
107f85d6c71SPaul E. McKenneyin the same timeframe [HerlihyLM02].  These techniques can be thought
108f85d6c71SPaul E. McKenneyof as inside-out reference counts, where the count is represented by the
109*6ae37718SPaul E. McKenneynumber of hazard pointers referencing a given data structure rather than
110*6ae37718SPaul E. McKenneythe more conventional counter field within the data structure itself.
111*6ae37718SPaul E. McKenneyThe key advantage of inside-out reference counts is that they can be
112*6ae37718SPaul E. McKenneystored in immortal variables, thus allowing races between access and
113*6ae37718SPaul E. McKenneydeletion to be avoided.
114f85d6c71SPaul E. McKenney
115f85d6c71SPaul E. McKenneyBy the same token, RCU can be thought of as a "bulk reference count",
116f85d6c71SPaul E. McKenneywhere some form of reference counter covers all reference by a given CPU
117f85d6c71SPaul E. McKenneyor thread during a set timeframe.  This timeframe is related to, but
118f85d6c71SPaul E. McKenneynot necessarily exactly the same as, an RCU grace period.  In classic
119f85d6c71SPaul E. McKenneyRCU, the reference counter is the per-CPU bit in the "bitmask" field,
120f85d6c71SPaul E. McKenneyand each such bit covers all references that might have been made by
121f85d6c71SPaul E. McKenneythe corresponding CPU during the prior grace period.  Of course, RCU
122f85d6c71SPaul E. McKenneycan be thought of in other terms as well.
1231da177e4SLinus Torvalds
1241da177e4SLinus TorvaldsIn 2003, the K42 group described how RCU could be used to create
125f85d6c71SPaul E. McKenneyhot-pluggable implementations of operating-system functions [Appavoo03a].
126f85d6c71SPaul E. McKenneyLater that year saw a paper describing an RCU implementation of System
127f85d6c71SPaul E. McKenneyV IPC [Arcangeli03], and an introduction to RCU in Linux Journal
128f85d6c71SPaul E. McKenney[McKenney03a].
1291da177e4SLinus Torvalds
1301da177e4SLinus Torvalds2004 has seen a Linux-Journal article on use of RCU in dcache
1311da177e4SLinus Torvalds[McKenney04a], a performance comparison of locking to RCU on several
1321da177e4SLinus Torvaldsdifferent CPUs [McKenney04b], a dissertation describing use of RCU in a
133a83f1fe2SPaul E. McKenneynumber of operating-system kernels [PaulEdwardMcKenneyPhD], a paper
134a83f1fe2SPaul E. McKenneydescribing how to make RCU safe for soft-realtime applications [Sarma04c],
135a83f1fe2SPaul E. McKenneyand a paper describing SELinux performance with RCU [JamesMorris04b].
1361da177e4SLinus Torvalds
137f85d6c71SPaul E. McKenney2005 brought further adaptation of RCU to realtime use, permitting
138dd81eca8SPaul E. McKenneypreemption of RCU realtime critical sections [PaulMcKenney05a,
139dd81eca8SPaul E. McKenneyPaulMcKenney05b].
140dd81eca8SPaul E. McKenney
141f85d6c71SPaul E. McKenney2006 saw the first best-paper award for an RCU paper [ThomasEHart2006a],
142f85d6c71SPaul E. McKenneyas well as further work on efficient implementations of preemptible
143f85d6c71SPaul E. McKenneyRCU [PaulEMcKenney2006b], but priority-boosting of RCU read-side critical
144f85d6c71SPaul E. McKenneysections proved elusive.  An RCU implementation permitting general
145f85d6c71SPaul E. McKenneyblocking in read-side critical sections appeared [PaulEMcKenney2006c],
146f85d6c71SPaul E. McKenneyRobert Olsson described an RCU-protected trie-hash combination
147f85d6c71SPaul E. McKenney[RobertOlsson2006a].
148f85d6c71SPaul E. McKenney
14932300751SPaul E. McKenney2007 saw the journal version of the award-winning RCU paper from 2006
15032300751SPaul E. McKenney[ThomasEHart2007a], as well as a paper demonstrating use of Promela
15132300751SPaul E. McKenneyand Spin to mechanically verify an optimization to Oleg Nesterov's
15232300751SPaul E. McKenneyQRCU [PaulEMcKenney2007QRCUspin], a design document describing
15332300751SPaul E. McKenneypreemptible RCU [PaulEMcKenney2007PreemptibleRCU], and the three-part
15432300751SPaul E. McKenneyLWN "What is RCU?" series [PaulEMcKenney2007WhatIsRCUFundamentally,
15532300751SPaul E. McKenneyPaulEMcKenney2008WhatIsRCUUsage, and PaulEMcKenney2008WhatIsRCUAPI].
156f85d6c71SPaul E. McKenney
1574c54005cSPaul E. McKenney2008 saw a journal paper on real-time RCU [DinakarGuniguntala2008IBMSysJ],
1584c54005cSPaul E. McKenneya history of how Linux changed RCU more than RCU changed Linux
1594c54005cSPaul E. McKenney[PaulEMcKenney2008RCUOSR], and a design overview of hierarchical RCU
1604c54005cSPaul E. McKenney[PaulEMcKenney2008HierarchicalRCU].
1614c54005cSPaul E. McKenney
1624c54005cSPaul E. McKenney2009 introduced user-level RCU algorithms [PaulEMcKenney2009MaliciousURCU],
1634c54005cSPaul E. McKenneywhich Mathieu Desnoyers is now maintaining [MathieuDesnoyers2009URCU]
1644c54005cSPaul E. McKenney[MathieuDesnoyersPhD].  TINY_RCU [PaulEMcKenney2009BloatWatchRCU] made
1654c54005cSPaul E. McKenneyits appearance, as did expedited RCU [PaulEMcKenney2009expeditedRCU].
1664c54005cSPaul E. McKenneyThe problem of resizeable RCU-protected hash tables may now be on a path
1674c62abc9SPaul E. McKenneyto a solution [JoshTriplett2009RPHash].  A few academic researchers are now
1684c62abc9SPaul E. McKenneyusing RCU to solve their parallel problems [HariKannan2009DynamicAnalysisRCU].
1694c62abc9SPaul E. McKenney
1704c62abc9SPaul E. McKenney2010 produced a simpler preemptible-RCU implementation
1714c62abc9SPaul E. McKenneybased on TREE_RCU [PaulEMcKenney2010SimpleOptRCU], lockdep-RCU
1724c62abc9SPaul E. McKenney[PaulEMcKenney2010LockdepRCU], another resizeable RCU-protected hash
1734c62abc9SPaul E. McKenneytable [HerbertXu2010RCUResizeHash] (this one consuming more memory,
1744c62abc9SPaul E. McKenneybut allowing arbitrary changes in hash function, as required for DoS
1754c62abc9SPaul E. McKenneyavoidance in the networking code), realization of the 2009 RCU-protected
1764c62abc9SPaul E. McKenneyhash table with atomic node move [JoshTriplett2010RPHash], an update on
1774c62abc9SPaul E. McKenneythe RCU API [PaulEMcKenney2010RCUAPI].
1784c62abc9SPaul E. McKenney
1794c62abc9SPaul E. McKenney2011 marked the inclusion of Nick Piggin's fully lockless dentry search
1804c62abc9SPaul E. McKenney[LinusTorvalds2011Linux2:6:38:rc1:NPigginVFS], an RCU-protected red-black
1814c62abc9SPaul E. McKenneytree using software transactional memory to protect concurrent updates
1824c62abc9SPaul E. McKenney(strange, but true!) [PhilHoward2011RCUTMRBTree], yet another variant of
1834c62abc9SPaul E. McKenneyRCU-protected resizeable hash tables [Triplett:2011:RPHash], the 3.0 RCU
1844c62abc9SPaul E. McKenneytrainwreck [PaulEMcKenney2011RCU3.0trainwreck], and Neil Brown's "Meet the
185*6ae37718SPaul E. McKenneyLockers" LWN article [NeilBrown2011MeetTheLockers].  Some academic
186*6ae37718SPaul E. McKenneywork looked at debugging uses of RCU [Seyster:2011:RFA:2075416.2075425].
187*6ae37718SPaul E. McKenney
188*6ae37718SPaul E. McKenneyIn 2012, Josh Triplett received his Ph.D. with his dissertation
189*6ae37718SPaul E. McKenneycovering RCU-protected resizable hash tables and the relationship
190*6ae37718SPaul E. McKenneybetween memory barriers and read-side traversal order:  If the updater
191*6ae37718SPaul E. McKenneyis making changes in the opposite direction from the read-side traveral
192*6ae37718SPaul E. McKenneyorder, the updater need only execute a memory-barrier instruction,
193*6ae37718SPaul E. McKenneybut if in the same direction, the updater needs to wait for a grace
194*6ae37718SPaul E. McKenneyperiod between the individual updates [JoshTriplettPhD].  Also in 2012,
195*6ae37718SPaul E. McKenneyafter seventeen years of attempts, an RCU paper made it into a top-flight
196*6ae37718SPaul E. McKenneyacademic journal, IEEE Transactions on Parallel and Distributed Systems
197*6ae37718SPaul E. McKenney[MathieuDesnoyers2012URCU].  A group of researchers in Spain applied
198*6ae37718SPaul E. McKenneyuser-level RCU to crowd simulation [GuillermoVigueras2012RCUCrowd], and
199*6ae37718SPaul E. McKenneyanother group of researchers in Europe produced a formal description of
200*6ae37718SPaul E. McKenneyRCU based on separation logic [AlexeyGotsman2012VerifyGraceExtended],
201*6ae37718SPaul E. McKenneywhich was published in the 2013 European Symposium on Programming
202*6ae37718SPaul E. McKenney[AlexeyGotsman2013ESOPRCU].
203*6ae37718SPaul E. McKenney
2044c62abc9SPaul E. McKenney
2054c54005cSPaul E. McKenney
2061da177e4SLinus TorvaldsBibtex Entries
2071da177e4SLinus Torvalds
2081da177e4SLinus Torvalds@article{Kung80
2091da177e4SLinus Torvalds,author="H. T. Kung and Q. Lehman"
2100f9574d8SDhaval Giani,title="Concurrent Manipulation of Binary Search Trees"
2111da177e4SLinus Torvalds,Year="1980"
2121da177e4SLinus Torvalds,Month="September"
2131da177e4SLinus Torvalds,journal="ACM Transactions on Database Systems"
2141da177e4SLinus Torvalds,volume="5"
2151da177e4SLinus Torvalds,number="3"
2161da177e4SLinus Torvalds,pages="354-382"
2174c62abc9SPaul E. McKenney,annotation={
2184c62abc9SPaul E. McKenney	Use garbage collector to clean up data after everyone is done with it.
2194c62abc9SPaul E. McKenney	.
2204c62abc9SPaul E. McKenney	Oldest use of something vaguely resembling RCU that I have found.
221*6ae37718SPaul E. McKenney	http://portal.acm.org/citation.cfm?id=320619&dl=GUIDE,
222*6ae37718SPaul E. McKenney	[Viewed December 3, 2007]
2234c62abc9SPaul E. McKenney}
2241da177e4SLinus Torvalds}
2251da177e4SLinus Torvalds
2261da177e4SLinus Torvalds@techreport{Manber82
2271da177e4SLinus Torvalds,author="Udi Manber and Richard E. Ladner"
2281da177e4SLinus Torvalds,title="Concurrency Control in a Dynamic Search Structure"
2291da177e4SLinus Torvalds,institution="Department of Computer Science, University of Washington"
2301da177e4SLinus Torvalds,address="Seattle, Washington"
2311da177e4SLinus Torvalds,year="1982"
2321da177e4SLinus Torvalds,number="82-01-01"
2331da177e4SLinus Torvalds,month="January"
2341da177e4SLinus Torvalds,pages="28"
2354c62abc9SPaul E. McKenney,annotation={
2364c62abc9SPaul E. McKenney	.
2374c62abc9SPaul E. McKenney	Superseded by Manber84.
2384c62abc9SPaul E. McKenney	.
2394c62abc9SPaul E. McKenney	Describes concurrent AVL tree implementation.  Uses a
2404c62abc9SPaul E. McKenney	garbage-collection mechanism to handle concurrent use and deletion
2414c62abc9SPaul E. McKenney	of nodes in the tree, but lacks the summary-of-execution-history
2424c62abc9SPaul E. McKenney	concept of read-copy locking.
2434c62abc9SPaul E. McKenney	.
2444c62abc9SPaul E. McKenney	Keeps full list of processes that were active when a given
2454c62abc9SPaul E. McKenney	node was to be deleted, and waits until all such processes have
2464c62abc9SPaul E. McKenney	-terminated- before allowing this node to be reused.  This is
2474c62abc9SPaul E. McKenney	not described in great detail -- one could imagine using process
2484c62abc9SPaul E. McKenney	IDs for this if the ID space was large enough that overlapping
2494c62abc9SPaul E. McKenney	never occurred.
2504c62abc9SPaul E. McKenney	.
2514c62abc9SPaul E. McKenney	This restriction makes this algorithm unsuitable for use in
2524c62abc9SPaul E. McKenney	systems comprised of long-lived processes.  It also produces
2534c62abc9SPaul E. McKenney	completely unacceptable overhead in systems with large numbers
2544c62abc9SPaul E. McKenney	of processes.  Finally, it is specific to AVL trees.
2554c62abc9SPaul E. McKenney	.
2564c62abc9SPaul E. McKenney	Cites Kung80, so not an independent invention, but the first
2574c62abc9SPaul E. McKenney	RCU-like usage that does not rely on an automatic garbage
2584c62abc9SPaul E. McKenney	collector.
2594c62abc9SPaul E. McKenney}
2601da177e4SLinus Torvalds}
2611da177e4SLinus Torvalds
2621da177e4SLinus Torvalds@article{Manber84
2631da177e4SLinus Torvalds,author="Udi Manber and Richard E. Ladner"
2641da177e4SLinus Torvalds,title="Concurrency Control in a Dynamic Search Structure"
2651da177e4SLinus Torvalds,Year="1984"
2661da177e4SLinus Torvalds,Month="September"
2671da177e4SLinus Torvalds,journal="ACM Transactions on Database Systems"
2681da177e4SLinus Torvalds,volume="9"
2691da177e4SLinus Torvalds,number="3"
2701da177e4SLinus Torvalds,pages="439-455"
2714c62abc9SPaul E. McKenney,annotation={
2724c62abc9SPaul E. McKenney	Describes concurrent AVL tree implementation.  Uses a
2734c62abc9SPaul E. McKenney	garbage-collection mechanism to handle concurrent use and deletion
2744c62abc9SPaul E. McKenney	of nodes in the tree, but lacks the summary-of-execution-history
2754c62abc9SPaul E. McKenney	concept of read-copy locking.
2764c62abc9SPaul E. McKenney	.
2774c62abc9SPaul E. McKenney	Keeps full list of processes that were active when a given
2784c62abc9SPaul E. McKenney	node was to be deleted, and waits until all such processes have
2794c62abc9SPaul E. McKenney	-terminated- before allowing this node to be reused.  This is
2804c62abc9SPaul E. McKenney	not described in great detail -- one could imagine using process
2814c62abc9SPaul E. McKenney	IDs for this if the ID space was large enough that overlapping
2824c62abc9SPaul E. McKenney	never occurred.
2834c62abc9SPaul E. McKenney	.
2844c62abc9SPaul E. McKenney	This restriction makes this algorithm unsuitable for use in
2854c62abc9SPaul E. McKenney	systems comprised of long-lived processes.  It also produces
2864c62abc9SPaul E. McKenney	completely unacceptable overhead in systems with large numbers
2874c62abc9SPaul E. McKenney	of processes.  Finally, it is specific to AVL trees.
2884c62abc9SPaul E. McKenney}
2894c62abc9SPaul E. McKenney}
2904c62abc9SPaul E. McKenney
2914c62abc9SPaul E. McKenney@Conference{RichardRashid87a
2924c62abc9SPaul E. McKenney,Author="Richard Rashid and Avadis Tevanian and Michael Young and
2934c62abc9SPaul E. McKenneyDavid Golub and Robert Baron and David Black and William Bolosky and
2944c62abc9SPaul E. McKenneyJonathan Chew"
2954c62abc9SPaul E. McKenney,Title="Machine-Independent Virtual Memory Management for Paged
2964c62abc9SPaul E. McKenneyUniprocessor and Multiprocessor Architectures"
2974c62abc9SPaul E. McKenney,Booktitle="{2\textsuperscript{nd} Symposium on Architectural Support
2984c62abc9SPaul E. McKenneyfor Programming Languages and Operating Systems}"
2994c62abc9SPaul E. McKenney,Publisher="Association for Computing Machinery"
3004c62abc9SPaul E. McKenney,Month="October"
3014c62abc9SPaul E. McKenney,Year="1987"
3024c62abc9SPaul E. McKenney,pages="31-39"
3034c62abc9SPaul E. McKenney,Address="Palo Alto, CA"
3044c62abc9SPaul E. McKenney,note="Available:
3054c62abc9SPaul E. McKenney\url{http://www.cse.ucsc.edu/~randal/221/rashid-machvm.pdf}
3064c62abc9SPaul E. McKenney[Viewed February 17, 2005]"
3074c62abc9SPaul E. McKenney,annotation={
3084c62abc9SPaul E. McKenney	Describes lazy TLB flush, where one waits for each CPU to pass
3094c62abc9SPaul E. McKenney	through a scheduling-clock interrupt before reusing a given range
3104c62abc9SPaul E. McKenney	of virtual address.  Does not describe how one determines that
3114c62abc9SPaul E. McKenney	all CPUs have in fact taken such an interrupt, though there are
3124c62abc9SPaul E. McKenney	no shortage of straightforward methods for accomplishing this.
3134c62abc9SPaul E. McKenney	.
3144c62abc9SPaul E. McKenney	Note that it does not make sense to just wait a fixed amount of
3154c62abc9SPaul E. McKenney	time, since a given CPU might have interrupts disabled for an
3164c62abc9SPaul E. McKenney	extended amount of time.
3174c62abc9SPaul E. McKenney}
3184c62abc9SPaul E. McKenney}
3194c62abc9SPaul E. McKenney
3204c62abc9SPaul E. McKenney@article{BarbaraLiskov1988ArgusCACM
3214c62abc9SPaul E. McKenney,author = {Barbara Liskov}
3224c62abc9SPaul E. McKenney,title = {Distributed programming in {Argus}}
3234c62abc9SPaul E. McKenney,journal = {Commun. ACM}
3244c62abc9SPaul E. McKenney,volume = {31}
3254c62abc9SPaul E. McKenney,number = {3}
3264c62abc9SPaul E. McKenney,year = {1988}
3274c62abc9SPaul E. McKenney,issn = {0001-0782}
3284c62abc9SPaul E. McKenney,pages = {300--312}
3294c62abc9SPaul E. McKenney,doi = {http://doi.acm.org/10.1145/42392.42399}
3304c62abc9SPaul E. McKenney,publisher = {ACM}
3314c62abc9SPaul E. McKenney,address = {New York, NY, USA}
3324c62abc9SPaul E. McKenney,annotation={
3334c62abc9SPaul E. McKenney	At the top of page 307: "Conflicts with deposits and withdrawals
3344c62abc9SPaul E. McKenney	are necessary if the reported total is to be up to date.  They
3354c62abc9SPaul E. McKenney	could be avoided by having total return a sum that is slightly
3364c62abc9SPaul E. McKenney	out of date."  Relies on semantics -- approximate numerical
3374c62abc9SPaul E. McKenney	values sometimes OK.
3384c62abc9SPaul E. McKenney}
3391da177e4SLinus Torvalds}
3401da177e4SLinus Torvalds
3411da177e4SLinus Torvalds@techreport{Hennessy89
3421da177e4SLinus Torvalds,author="James P. Hennessy and Damian L. Osisek and Joseph W. {Seigh II}"
3431da177e4SLinus Torvalds,title="Passive Serialization in a Multitasking Environment"
3441da177e4SLinus Torvalds,institution="US Patent and Trademark Office"
3451da177e4SLinus Torvalds,address="Washington, DC"
3461da177e4SLinus Torvalds,year="1989"
3471da177e4SLinus Torvalds,number="US Patent 4,809,168 (lapsed)"
3481da177e4SLinus Torvalds,month="February"
3491da177e4SLinus Torvalds,pages="11"
3501da177e4SLinus Torvalds}
3511da177e4SLinus Torvalds
3521da177e4SLinus Torvalds@techreport{Pugh90
3531da177e4SLinus Torvalds,author="William Pugh"
3541da177e4SLinus Torvalds,title="Concurrent Maintenance of Skip Lists"
3551da177e4SLinus Torvalds,institution="Institute of Advanced Computer Science Studies, Department of Computer Science, University of Maryland"
3561da177e4SLinus Torvalds,address="College Park, Maryland"
3571da177e4SLinus Torvalds,year="1990"
3581da177e4SLinus Torvalds,number="CS-TR-2222.1"
3591da177e4SLinus Torvalds,month="June"
3604c62abc9SPaul E. McKenney,annotation={
3614c62abc9SPaul E. McKenney	Concurrent access to skip lists.  Has both weak and strong search.
3624c62abc9SPaul E. McKenney	Uses concept of ``garbage queue'', but has no real way of cleaning
3634c62abc9SPaul E. McKenney	the garbage efficiently.
3644c62abc9SPaul E. McKenney	.
3654c62abc9SPaul E. McKenney	Appears to be an independent invention of an RCU-like mechanism.
3664c62abc9SPaul E. McKenney}
3671da177e4SLinus Torvalds}
3681da177e4SLinus Torvalds
369*6ae37718SPaul E. McKenney# Was Adams91, see also syncrefs.bib.
370*6ae37718SPaul E. McKenney@Book{Andrews91textbook
371*6ae37718SPaul E. McKenney,Author="Gregory R. Andrews"
3721da177e4SLinus Torvalds,title="Concurrent Programming, Principles, and Practices"
3731da177e4SLinus Torvalds,Publisher="Benjamin Cummins"
3741da177e4SLinus Torvalds,Year="1991"
3754c62abc9SPaul E. McKenney,annotation={
3764c62abc9SPaul E. McKenney	Has a few paragraphs describing ``chaotic relaxation'', a
3774c62abc9SPaul E. McKenney	numerical analysis technique that allows multiprocessors to
3784c62abc9SPaul E. McKenney	avoid synchronization overhead by using possibly-stale data.
3794c62abc9SPaul E. McKenney	.
3804c62abc9SPaul E. McKenney	Seems like this is descended from yet another independent
3814c62abc9SPaul E. McKenney	invention of RCU-like function -- but this is restricted
3824c62abc9SPaul E. McKenney	in that reclamation is not necessary.
3831da177e4SLinus Torvalds}
38432300751SPaul E. McKenney}
38532300751SPaul E. McKenney
3861da177e4SLinus Torvalds@unpublished{Jacobson93
3871da177e4SLinus Torvalds,author="Van Jacobson"
3881da177e4SLinus Torvalds,title="Avoid Read-Side Locking Via Delayed Free"
3891da177e4SLinus Torvalds,year="1993"
3901da177e4SLinus Torvalds,month="September"
3914c62abc9SPaul E. McKenney,note="private communication"
3924c62abc9SPaul E. McKenney,annotation={
3934c62abc9SPaul E. McKenney	Use fixed time delay to approximate grace period.  Very simple,
3944c62abc9SPaul E. McKenney	but subject to random memory corruption under heavy load.
3954c62abc9SPaul E. McKenney	.
3964c62abc9SPaul E. McKenney	Independent invention of RCU-like mechanism.
3974c62abc9SPaul E. McKenney}
3981da177e4SLinus Torvalds}
3991da177e4SLinus Torvalds
4001da177e4SLinus Torvalds@Conference{AjuJohn95
4011da177e4SLinus Torvalds,Author="Aju John"
4021da177e4SLinus Torvalds,Title="Dynamic vnodes -- Design and Implementation"
4031da177e4SLinus Torvalds,Booktitle="{USENIX Winter 1995}"
4041da177e4SLinus Torvalds,Publisher="USENIX Association"
4051da177e4SLinus Torvalds,Month="January"
4061da177e4SLinus Torvalds,Year="1995"
4071da177e4SLinus Torvalds,pages="11-23"
4081da177e4SLinus Torvalds,Address="New Orleans, LA"
4094c62abc9SPaul E. McKenney,note="Available:
4104c62abc9SPaul E. McKenney\url{https://www.usenix.org/publications/library/proceedings/neworl/full_papers/john.a}
4114c62abc9SPaul E. McKenney[Viewed October 1, 2010]"
4124c62abc9SPaul E. McKenney,annotation={
4134c62abc9SPaul E. McKenney	Age vnodes out of the cache, and have a fixed time set by a kernel
4144c62abc9SPaul E. McKenney	parameter.  Not clear that all races were in fact correctly handled.
4154c62abc9SPaul E. McKenney	Used a 20-minute time by default, which would most definitely not
4164c62abc9SPaul E. McKenney	be suitable during DoS attacks or virus scans.
4174c62abc9SPaul E. McKenney	.
4184c62abc9SPaul E. McKenney	Apparently independent invention of RCU-like mechanism.
4194c62abc9SPaul E. McKenney}
4201da177e4SLinus Torvalds}
4211da177e4SLinus Torvalds
422*6ae37718SPaul E. McKenney@conference{Pu95a
423*6ae37718SPaul E. McKenney,Author = "Calton Pu and Tito Autrey and Andrew Black and Charles Consel and
424f85d6c71SPaul E. McKenneyCrispin Cowan and Jon Inouye and Lakshmi Kethana and Jonathan Walpole and
425*6ae37718SPaul E. McKenneyKe Zhang"
426*6ae37718SPaul E. McKenney,Title = "Optimistic Incremental Specialization: Streamlining a Commercial
427*6ae37718SPaul E. McKenney,Operating System"
428*6ae37718SPaul E. McKenney,Booktitle = "15\textsuperscript{th} ACM Symposium on
429*6ae37718SPaul E. McKenney,Operating Systems Principles (SOSP'95)"
430*6ae37718SPaul E. McKenney,address = "Copper Mountain, CO"
431*6ae37718SPaul E. McKenney,month="December"
432*6ae37718SPaul E. McKenney,year="1995"
433*6ae37718SPaul E. McKenney,pages="314-321"
434*6ae37718SPaul E. McKenney,annotation={
435f85d6c71SPaul E. McKenney	Uses a replugger, but with a flag to signal when people are
436f85d6c71SPaul E. McKenney	using the resource at hand.  Only one reader at a time.
437*6ae37718SPaul E. McKenney}
438f85d6c71SPaul E. McKenney}
439f85d6c71SPaul E. McKenney
440*6ae37718SPaul E. McKenney@conference{Cowan96a
441*6ae37718SPaul E. McKenney,Author = "Crispin Cowan and Tito Autrey and Charles Krasic and
442*6ae37718SPaul E. McKenney,Calton Pu and Jonathan Walpole"
443*6ae37718SPaul E. McKenney,Title = "Fast Concurrent Dynamic Linking for an Adaptive Operating System"
444*6ae37718SPaul E. McKenney,Booktitle = "International Conference on Configurable Distributed Systems
445*6ae37718SPaul E. McKenney(ICCDS'96)"
446*6ae37718SPaul E. McKenney,address = "Annapolis, MD"
447*6ae37718SPaul E. McKenney,month="May"
448*6ae37718SPaul E. McKenney,year="1996"
449*6ae37718SPaul E. McKenney,pages="108"
450*6ae37718SPaul E. McKenney,isbn="0-8186-7395-8"
451*6ae37718SPaul E. McKenney,annotation={
452f85d6c71SPaul E. McKenney	Uses a replugger, but with a counter to signal when people are
453f85d6c71SPaul E. McKenney	using the resource at hand.  Allows multiple readers.
454*6ae37718SPaul E. McKenney}
455f85d6c71SPaul E. McKenney}
456f85d6c71SPaul E. McKenney
4571da177e4SLinus Torvalds@techreport{Slingwine95
4581da177e4SLinus Torvalds,author="John D. Slingwine and Paul E. McKenney"
4591da177e4SLinus Torvalds,title="Apparatus and Method for Achieving Reduced Overhead Mutual
4601da177e4SLinus TorvaldsExclusion and Maintaining Coherency in a Multiprocessor System
4611da177e4SLinus TorvaldsUtilizing Execution History and Thread Monitoring"
4621da177e4SLinus Torvalds,institution="US Patent and Trademark Office"
4631da177e4SLinus Torvalds,address="Washington, DC"
4641da177e4SLinus Torvalds,year="1995"
4654c62abc9SPaul E. McKenney,number="US Patent 5,442,758"
4661da177e4SLinus Torvalds,month="August"
4674c62abc9SPaul E. McKenney,annotation={
4684c62abc9SPaul E. McKenney	Describes the parallel RCU infrastructure.  Includes NUMA aspect
4694c62abc9SPaul E. McKenney	(structure of bitmap can reflect bus structure of computer system).
4704c62abc9SPaul E. McKenney	.
4714c62abc9SPaul E. McKenney	Another independent invention of an RCU-like mechanism, but the
4724c62abc9SPaul E. McKenney	"real" RCU this time!
4734c62abc9SPaul E. McKenney}
4741da177e4SLinus Torvalds}
4751da177e4SLinus Torvalds
4761da177e4SLinus Torvalds@techreport{Slingwine97
4771da177e4SLinus Torvalds,author="John D. Slingwine and Paul E. McKenney"
4784c62abc9SPaul E. McKenney,title="Method for Maintaining Data Coherency Using Thread Activity
4794c62abc9SPaul E. McKenneySummaries in a Multicomputer System"
4801da177e4SLinus Torvalds,institution="US Patent and Trademark Office"
4811da177e4SLinus Torvalds,address="Washington, DC"
4821da177e4SLinus Torvalds,year="1997"
4834c62abc9SPaul E. McKenney,number="US Patent 5,608,893"
4841da177e4SLinus Torvalds,month="March"
4854c62abc9SPaul E. McKenney,pages="19"
4864c62abc9SPaul E. McKenney,annotation={
4874c62abc9SPaul E. McKenney	Describes use of RCU to synchronize data between a pair of
4884c62abc9SPaul E. McKenney	SMP/NUMA computer systems.
4894c62abc9SPaul E. McKenney}
4901da177e4SLinus Torvalds}
4911da177e4SLinus Torvalds
4921da177e4SLinus Torvalds@techreport{Slingwine98
4931da177e4SLinus Torvalds,author="John D. Slingwine and Paul E. McKenney"
4944c62abc9SPaul E. McKenney,title="Apparatus and Method for Achieving Reduced Overhead Mutual
4954c62abc9SPaul E. McKenneyExclusion and Maintaining Coherency in a Multiprocessor System
4964c62abc9SPaul E. McKenneyUtilizing Execution History and Thread Monitoring"
4971da177e4SLinus Torvalds,institution="US Patent and Trademark Office"
4981da177e4SLinus Torvalds,address="Washington, DC"
4991da177e4SLinus Torvalds,year="1998"
5004c62abc9SPaul E. McKenney,number="US Patent 5,727,209"
5011da177e4SLinus Torvalds,month="March"
5024c62abc9SPaul E. McKenney,annotation={
5034c62abc9SPaul E. McKenney	Describes doing an atomic update by copying the data item and
5044c62abc9SPaul E. McKenney	then substituting it into the data structure.
5054c62abc9SPaul E. McKenney}
5061da177e4SLinus Torvalds}
5071da177e4SLinus Torvalds
5081da177e4SLinus Torvalds@Conference{McKenney98
5091da177e4SLinus Torvalds,Author="Paul E. McKenney and John D. Slingwine"
5101da177e4SLinus Torvalds,Title="Read-Copy Update: Using Execution History to Solve Concurrency
5111da177e4SLinus TorvaldsProblems"
5121da177e4SLinus Torvalds,Booktitle="{Parallel and Distributed Computing and Systems}"
5131da177e4SLinus Torvalds,Month="October"
5141da177e4SLinus Torvalds,Year="1998"
5151da177e4SLinus Torvalds,pages="509-518"
5161da177e4SLinus Torvalds,Address="Las Vegas, NV"
5174c62abc9SPaul E. McKenney,annotation={
5184c62abc9SPaul E. McKenney	Describes and analyzes RCU mechanism in DYNIX/ptx.  Describes
5194c62abc9SPaul E. McKenney	application to linked list update and log-buffer flushing.
5204c62abc9SPaul E. McKenney	Defines 'quiescent state'.  Includes both measured and analytic
5214c62abc9SPaul E. McKenney	evaluation.
522*6ae37718SPaul E. McKenney	http://www.rdrop.com/users/paulmck/RCU/rclockpdcsproof.pdf
523*6ae37718SPaul E. McKenney	[Viewed December 3, 2007]
5244c62abc9SPaul E. McKenney}
5251da177e4SLinus Torvalds}
5261da177e4SLinus Torvalds
5271da177e4SLinus Torvalds@Conference{Gamsa99
5281da177e4SLinus Torvalds,Author="Ben Gamsa and Orran Krieger and Jonathan Appavoo and Michael Stumm"
5291da177e4SLinus Torvalds,Title="Tornado: Maximizing Locality and Concurrency in a Shared Memory
5301da177e4SLinus TorvaldsMultiprocessor Operating System"
5311da177e4SLinus Torvalds,Booktitle="{Proceedings of the 3\textsuperscript{rd} Symposium on
5321da177e4SLinus TorvaldsOperating System Design and Implementation}"
5331da177e4SLinus Torvalds,Month="February"
5341da177e4SLinus Torvalds,Year="1999"
5351da177e4SLinus Torvalds,pages="87-100"
5361da177e4SLinus Torvalds,Address="New Orleans, LA"
5374c62abc9SPaul E. McKenney,annotation={
5384c62abc9SPaul E. McKenney	Use of RCU-like facility in K42/Tornado.  Another independent
5394c62abc9SPaul E. McKenney	invention of RCU.
5404c62abc9SPaul E. McKenney	See especially pages 7-9 (Section 5).
541*6ae37718SPaul E. McKenney	http://www.usenix.org/events/osdi99/full_papers/gamsa/gamsa.pdf
542*6ae37718SPaul E. McKenney	[Viewed August 30, 2006]
5434c62abc9SPaul E. McKenney}
5444c62abc9SPaul E. McKenney}
5454c62abc9SPaul E. McKenney
5464c62abc9SPaul E. McKenney@unpublished{RustyRussell2000a
5474c62abc9SPaul E. McKenney,Author="Rusty Russell"
5484c62abc9SPaul E. McKenney,Title="Re: modular net drivers"
5494c62abc9SPaul E. McKenney,month="June"
5504c62abc9SPaul E. McKenney,year="2000"
5514c62abc9SPaul E. McKenney,day="23"
5524c62abc9SPaul E. McKenney,note="Available:
5534c62abc9SPaul E. McKenney\url{http://oss.sgi.com/projects/netdev/archive/2000-06/msg00250.html}
5544c62abc9SPaul E. McKenney[Viewed April 10, 2006]"
5554c62abc9SPaul E. McKenney,annotation={
5564c62abc9SPaul E. McKenney	Proto-RCU proposal from Phil Rumpf and Rusty Russell.
5574c62abc9SPaul E. McKenney	Yet another independent invention of RCU.
5584c62abc9SPaul E. McKenney	Outline of algorithm to unload modules...
5594c62abc9SPaul E. McKenney	.
5604c62abc9SPaul E. McKenney	Appeared on net-dev mailing list.
5614c62abc9SPaul E. McKenney}
5624c62abc9SPaul E. McKenney}
5634c62abc9SPaul E. McKenney
5644c62abc9SPaul E. McKenney@unpublished{RustyRussell2000b
5654c62abc9SPaul E. McKenney,Author="Rusty Russell"
5664c62abc9SPaul E. McKenney,Title="Re: modular net drivers"
5674c62abc9SPaul E. McKenney,month="June"
5684c62abc9SPaul E. McKenney,year="2000"
5694c62abc9SPaul E. McKenney,day="24"
5704c62abc9SPaul E. McKenney,note="Available:
5714c62abc9SPaul E. McKenney\url{http://oss.sgi.com/projects/netdev/archive/2000-06/msg00254.html}
5724c62abc9SPaul E. McKenney[Viewed April 10, 2006]"
5734c62abc9SPaul E. McKenney,annotation={
5744c62abc9SPaul E. McKenney	Proto-RCU proposal from Phil Rumpf and Rusty Russell.
5754c62abc9SPaul E. McKenney	.
5764c62abc9SPaul E. McKenney	Appeared on net-dev mailing list.
5774c62abc9SPaul E. McKenney}
5784c62abc9SPaul E. McKenney}
5794c62abc9SPaul E. McKenney
5804c62abc9SPaul E. McKenney@unpublished{McKenney01b
5814c62abc9SPaul E. McKenney,Author="Paul E. McKenney and Dipankar Sarma"
5824c62abc9SPaul E. McKenney,Title="Read-Copy Update Mutual Exclusion in {Linux}"
5834c62abc9SPaul E. McKenney,month="February"
5844c62abc9SPaul E. McKenney,year="2001"
5854c62abc9SPaul E. McKenney,note="Available:
5864c62abc9SPaul E. McKenney\url{http://lse.sourceforge.net/locking/rcu/rcupdate_doc.html}
5874c62abc9SPaul E. McKenney[Viewed October 18, 2004]"
5884c62abc9SPaul E. McKenney,annotation={
5894c62abc9SPaul E. McKenney	Prototypical Linux documentation for RCU.
5904c62abc9SPaul E. McKenney}
5911da177e4SLinus Torvalds}
5921da177e4SLinus Torvalds
5931da177e4SLinus Torvalds@techreport{Slingwine01
5941da177e4SLinus Torvalds,author="John D. Slingwine and Paul E. McKenney"
5954c62abc9SPaul E. McKenney,title="Apparatus and Method for Achieving Reduced Overhead Mutual
5964c62abc9SPaul E. McKenneyExclusion and Maintaining Coherency in a Multiprocessor System
5974c62abc9SPaul E. McKenneyUtilizing Execution History and Thread Monitoring"
5981da177e4SLinus Torvalds,institution="US Patent and Trademark Office"
5991da177e4SLinus Torvalds,address="Washington, DC"
6001da177e4SLinus Torvalds,year="2001"
6014c62abc9SPaul E. McKenney,number="US Patent 6,219,690"
6021da177e4SLinus Torvalds,month="April"
6034c62abc9SPaul E. McKenney,annotation={
6044c62abc9SPaul E. McKenney	'Change in mode' aspect of RCU.  Can be thought of as a lazy barrier.
6054c62abc9SPaul E. McKenney}
6061da177e4SLinus Torvalds}
6071da177e4SLinus Torvalds
6081da177e4SLinus Torvalds@Conference{McKenney01a
6091da177e4SLinus Torvalds,Author="Paul E. McKenney and Jonathan Appavoo and Andi Kleen and
6101da177e4SLinus TorvaldsOrran Krieger and Rusty Russell and Dipankar Sarma and Maneesh Soni"
6111da177e4SLinus Torvalds,Title="Read-Copy Update"
6121da177e4SLinus Torvalds,Booktitle="{Ottawa Linux Symposium}"
6131da177e4SLinus Torvalds,Month="July"
6141da177e4SLinus Torvalds,Year="2001"
6151da177e4SLinus Torvalds,note="Available:
6161da177e4SLinus Torvalds\url{http://www.linuxsymposium.org/2001/abstracts/readcopy.php}
6174c62abc9SPaul E. McKenney\url{http://www.rdrop.com/users/paulmck/RCU/rclock_OLS.2001.05.01c.pdf}
6181da177e4SLinus Torvalds[Viewed June 23, 2004]"
6194c62abc9SPaul E. McKenney,annotation={
6204c62abc9SPaul E. McKenney	Described RCU, and presented some patches implementing and using
6214c62abc9SPaul E. McKenney	it in the Linux kernel.
6224c62abc9SPaul E. McKenney}
6234c62abc9SPaul E. McKenney}
6244c62abc9SPaul E. McKenney
6254c62abc9SPaul E. McKenney@unpublished{McKenney01f
6264c62abc9SPaul E. McKenney,Author="Paul E. McKenney"
6274c62abc9SPaul E. McKenney,Title="{RFC:} patch to allow lock-free traversal of lists with insertion"
6284c62abc9SPaul E. McKenney,month="October"
6294c62abc9SPaul E. McKenney,year="2001"
6304c62abc9SPaul E. McKenney,note="Available:
6314c62abc9SPaul E. McKenney\url{http://marc.theaimsgroup.com/?l=linux-kernel&m=100259266316456&w=2}
6324c62abc9SPaul E. McKenney[Viewed June 23, 2004]"
633*6ae37718SPaul E. McKenney,annotation={
6344c62abc9SPaul E. McKenney	Memory-barrier and Alpha thread.  100 messages, not too bad...
635*6ae37718SPaul E. McKenney}
6361da177e4SLinus Torvalds}
6371da177e4SLinus Torvalds
6384c62abc9SPaul E. McKenney@unpublished{Spraul01
6394c62abc9SPaul E. McKenney,Author="Manfred Spraul"
6404c62abc9SPaul E. McKenney,Title="Re: {RFC:} patch to allow lock-free traversal of lists with insertion"
6414c62abc9SPaul E. McKenney,month="October"
6424c62abc9SPaul E. McKenney,year="2001"
6434c62abc9SPaul E. McKenney,note="Available:
6444c62abc9SPaul E. McKenney\url{http://marc.theaimsgroup.com/?l=linux-kernel&m=100264675012867&w=2}
6454c62abc9SPaul E. McKenney[Viewed June 23, 2004]"
646*6ae37718SPaul E. McKenney,annotation={
6474c62abc9SPaul E. McKenney	Suggested burying memory barriers in Linux's list-manipulation
6484c62abc9SPaul E. McKenney	primitives.
649*6ae37718SPaul E. McKenney}
6504c62abc9SPaul E. McKenney}
6514c62abc9SPaul E. McKenney
6524c62abc9SPaul E. McKenney@unpublished{LinusTorvalds2001a
6534c62abc9SPaul E. McKenney,Author="Linus Torvalds"
6544c62abc9SPaul E. McKenney,Title="{Re:} {[Lse-tech]} {Re:} {RFC:} patch to allow lock-free traversal of lists with insertion"
6554c62abc9SPaul E. McKenney,month="October"
6564c62abc9SPaul E. McKenney,year="2001"
6574c62abc9SPaul E. McKenney,note="Available:
6584c62abc9SPaul E. McKenney\url{http://lkml.org/lkml/2001/10/13/105}
6594c62abc9SPaul E. McKenney[Viewed August 21, 2004]"
660*6ae37718SPaul E. McKenney,annotation={
661*6ae37718SPaul E. McKenney}
6624c62abc9SPaul E. McKenney}
6634c62abc9SPaul E. McKenney
6644c62abc9SPaul E. McKenney@unpublished{Blanchard02a
6654c62abc9SPaul E. McKenney,Author="Anton Blanchard"
6664c62abc9SPaul E. McKenney,Title="some RCU dcache and ratcache results"
6674c62abc9SPaul E. McKenney,month="March"
6684c62abc9SPaul E. McKenney,year="2002"
6694c62abc9SPaul E. McKenney,note="Available:
6704c62abc9SPaul E. McKenney\url{http://marc.theaimsgroup.com/?l=linux-kernel&m=101637107412972&w=2}
6714c62abc9SPaul E. McKenney[Viewed October 18, 2004]"
6724c62abc9SPaul E. McKenney}
6734c62abc9SPaul E. McKenney
6741da177e4SLinus Torvalds@Conference{Linder02a
6751da177e4SLinus Torvalds,Author="Hanna Linder and Dipankar Sarma and Maneesh Soni"
6761da177e4SLinus Torvalds,Title="Scalability of the Directory Entry Cache"
6771da177e4SLinus Torvalds,Booktitle="{Ottawa Linux Symposium}"
6781da177e4SLinus Torvalds,Month="June"
6791da177e4SLinus Torvalds,Year="2002"
6801da177e4SLinus Torvalds,pages="289-300"
681*6ae37718SPaul E. McKenney,annotation={
6824c62abc9SPaul E. McKenney	Measured scalability of Linux 2.4 kernel's directory-entry cache
6834c62abc9SPaul E. McKenney	(dcache), and measured some scalability enhancements.
684*6ae37718SPaul E. McKenney}
6851da177e4SLinus Torvalds}
6861da177e4SLinus Torvalds
6871da177e4SLinus Torvalds@Conference{McKenney02a
6881da177e4SLinus Torvalds,Author="Paul E. McKenney and Dipankar Sarma and
6891da177e4SLinus TorvaldsAndrea Arcangeli and Andi Kleen and Orran Krieger and Rusty Russell"
6901da177e4SLinus Torvalds,Title="Read-Copy Update"
6911da177e4SLinus Torvalds,Booktitle="{Ottawa Linux Symposium}"
6921da177e4SLinus Torvalds,Month="June"
6931da177e4SLinus Torvalds,Year="2002"
6941da177e4SLinus Torvalds,pages="338-367"
6951da177e4SLinus Torvalds,note="Available:
6961da177e4SLinus Torvalds\url{http://www.linux.org.uk/~ajh/ols2002_proceedings.pdf.gz}
6971da177e4SLinus Torvalds[Viewed June 23, 2004]"
698*6ae37718SPaul E. McKenney,annotation={
6994c62abc9SPaul E. McKenney	Presented and compared a number of RCU implementations for the
7004c62abc9SPaul E. McKenney	Linux kernel.
701*6ae37718SPaul E. McKenney}
702f85d6c71SPaul E. McKenney}
703f85d6c71SPaul E. McKenney
7044c62abc9SPaul E. McKenney@unpublished{Sarma02a
7054c62abc9SPaul E. McKenney,Author="Dipankar Sarma"
7064c62abc9SPaul E. McKenney,Title="specweb99: dcache scalability results"
7074c62abc9SPaul E. McKenney,month="July"
7084c62abc9SPaul E. McKenney,year="2002"
7094c62abc9SPaul E. McKenney,note="Available:
7104c62abc9SPaul E. McKenney\url{http://marc.theaimsgroup.com/?l=linux-kernel&m=102645767914212&w=2}
7114c62abc9SPaul E. McKenney[Viewed June 23, 2004]"
712*6ae37718SPaul E. McKenney,annotation={
7134c62abc9SPaul E. McKenney	Compare fastwalk and RCU for dcache.  RCU won.
714*6ae37718SPaul E. McKenney}
715f85d6c71SPaul E. McKenney}
716f85d6c71SPaul E. McKenney
7174c62abc9SPaul E. McKenney@unpublished{Barbieri02
7184c62abc9SPaul E. McKenney,Author="Luca Barbieri"
7194c62abc9SPaul E. McKenney,Title="Re: {[PATCH]} Initial support for struct {vfs\_cred}"
7204c62abc9SPaul E. McKenney,month="August"
7214c62abc9SPaul E. McKenney,year="2002"
7224c62abc9SPaul E. McKenney,note="Available:
7234c62abc9SPaul E. McKenney\url{http://marc.theaimsgroup.com/?l=linux-kernel&m=103082050621241&w=2}
7244c62abc9SPaul E. McKenney[Viewed: June 23, 2004]"
725*6ae37718SPaul E. McKenney,annotation={
7264c62abc9SPaul E. McKenney	Suggested RCU for vfs\_shared\_cred.
727*6ae37718SPaul E. McKenney}
7284c62abc9SPaul E. McKenney}
7294c62abc9SPaul E. McKenney
7304c62abc9SPaul E. McKenney@unpublished{Dickins02a
7314c62abc9SPaul E. McKenney,author="Hugh Dickins"
7324c62abc9SPaul E. McKenney,title="Use RCU for System-V IPC"
7334c62abc9SPaul E. McKenney,year="2002"
734f85d6c71SPaul E. McKenney,month="October"
7354c62abc9SPaul E. McKenney,note="private communication"
7364c62abc9SPaul E. McKenney}
7374c62abc9SPaul E. McKenney
7384c62abc9SPaul E. McKenney@unpublished{Sarma02b
7394c62abc9SPaul E. McKenney,Author="Dipankar Sarma"
7404c62abc9SPaul E. McKenney,Title="Some dcache\_rcu benchmark numbers"
7414c62abc9SPaul E. McKenney,month="October"
7424c62abc9SPaul E. McKenney,year="2002"
7434c62abc9SPaul E. McKenney,note="Available:
7444c62abc9SPaul E. McKenney\url{http://marc.theaimsgroup.com/?l=linux-kernel&m=103462075416638&w=2}
7454c62abc9SPaul E. McKenney[Viewed June 23, 2004]"
746*6ae37718SPaul E. McKenney,annotation={
7474c62abc9SPaul E. McKenney	Performance of dcache RCU on kernbench for 16x NUMA-Q and 1x,
7484c62abc9SPaul E. McKenney	2x, and 4x systems.  RCU does no harm, and helps on 16x.
749*6ae37718SPaul E. McKenney}
7504c62abc9SPaul E. McKenney}
7514c62abc9SPaul E. McKenney
7524c62abc9SPaul E. McKenney@unpublished{LinusTorvalds2003a
7534c62abc9SPaul E. McKenney,Author="Linus Torvalds"
7544c62abc9SPaul E. McKenney,Title="Re: {[PATCH]} small fixes in brlock.h"
7554c62abc9SPaul E. McKenney,month="March"
7564c62abc9SPaul E. McKenney,year="2003"
7574c62abc9SPaul E. McKenney,note="Available:
7584c62abc9SPaul E. McKenney\url{http://lkml.org/lkml/2003/3/9/205}
7594c62abc9SPaul E. McKenney[Viewed March 13, 2006]"
760*6ae37718SPaul E. McKenney,annotation={
7614c62abc9SPaul E. McKenney	Linus suggests replacing brlock with RCU and/or seqlocks:
7624c62abc9SPaul E. McKenney	.
7634c62abc9SPaul E. McKenney	'It's entirely possible that the current user could be replaced
7644c62abc9SPaul E. McKenney	by RCU and/or seqlocks, and we could get rid of brlocks entirely.'
7654c62abc9SPaul E. McKenney	.
7664c62abc9SPaul E. McKenney	Steve Hemminger responds by replacing them with RCU.
767*6ae37718SPaul E. McKenney}
768f85d6c71SPaul E. McKenney}
769f85d6c71SPaul E. McKenney
7701da177e4SLinus Torvalds@article{Appavoo03a
7711da177e4SLinus Torvalds,author="J. Appavoo and K. Hui and C. A. N. Soules and R. W. Wisniewski and
7721da177e4SLinus TorvaldsD. M. {Da Silva} and O. Krieger and M. A. Auslander and D. J. Edelsohn and
7731da177e4SLinus TorvaldsB. Gamsa and G. R. Ganger and P. McKenney and M. Ostrowski and
7741da177e4SLinus TorvaldsB. Rosenburg and M. Stumm and J. Xenidis"
7751da177e4SLinus Torvalds,title="Enabling Autonomic Behavior in Systems Software With Hot Swapping"
7761da177e4SLinus Torvalds,Year="2003"
7771da177e4SLinus Torvalds,Month="January"
7781da177e4SLinus Torvalds,journal="IBM Systems Journal"
7791da177e4SLinus Torvalds,volume="42"
7801da177e4SLinus Torvalds,number="1"
7811da177e4SLinus Torvalds,pages="60-76"
782*6ae37718SPaul E. McKenney,annotation={
7834c62abc9SPaul E. McKenney	Use of RCU to enable hot-swapping for autonomic behavior in K42.
784*6ae37718SPaul E. McKenney}
7854c62abc9SPaul E. McKenney}
7864c62abc9SPaul E. McKenney
7874c62abc9SPaul E. McKenney@unpublished{Seigh03
7884c62abc9SPaul E. McKenney,author="Joseph W. {Seigh II}"
7894c62abc9SPaul E. McKenney,title="Read Copy Update"
7904c62abc9SPaul E. McKenney,Year="2003"
7914c62abc9SPaul E. McKenney,Month="March"
7924c62abc9SPaul E. McKenney,note="email correspondence"
793*6ae37718SPaul E. McKenney,annotation={
7944c62abc9SPaul E. McKenney	Described the relationship of the VM/XA passive serialization to RCU.
795*6ae37718SPaul E. McKenney}
7961da177e4SLinus Torvalds}
7971da177e4SLinus Torvalds
7981da177e4SLinus Torvalds@Conference{Arcangeli03
7991da177e4SLinus Torvalds,Author="Andrea Arcangeli and Mingming Cao and Paul E. McKenney and
8001da177e4SLinus TorvaldsDipankar Sarma"
8011da177e4SLinus Torvalds,Title="Using Read-Copy Update Techniques for {System V IPC} in the
8021da177e4SLinus Torvalds{Linux} 2.5 Kernel"
8031da177e4SLinus Torvalds,Booktitle="Proceedings of the 2003 USENIX Annual Technical Conference
8041da177e4SLinus Torvalds(FREENIX Track)"
8051da177e4SLinus Torvalds,Publisher="USENIX Association"
8061da177e4SLinus Torvalds,year="2003"
8071da177e4SLinus Torvalds,month="June"
8081da177e4SLinus Torvalds,pages="297-310"
809*6ae37718SPaul E. McKenney,annotation={
8104c62abc9SPaul E. McKenney	Compared updated RCU implementations for the Linux kernel, and
8114c62abc9SPaul E. McKenney	described System V IPC use of RCU, including order-of-magnitude
8124c62abc9SPaul E. McKenney	performance improvements.
813*6ae37718SPaul E. McKenney	http://www.rdrop.com/users/paulmck/RCU/rcu.FREENIX.2003.06.14.pdf
814*6ae37718SPaul E. McKenney}
8154c62abc9SPaul E. McKenney}
8164c62abc9SPaul E. McKenney
8174c62abc9SPaul E. McKenney@Conference{Soules03a
8184c62abc9SPaul E. McKenney,Author="Craig A. N. Soules and Jonathan Appavoo and Kevin Hui and
8194c62abc9SPaul E. McKenneyDilma {Da Silva} and Gregory R. Ganger and Orran Krieger and
8204c62abc9SPaul E. McKenneyMichael Stumm and Robert W. Wisniewski and Marc Auslander and
8214c62abc9SPaul E. McKenneyMichal Ostrowski and Bryan Rosenburg and Jimi Xenidis"
8224c62abc9SPaul E. McKenney,Title="System Support for Online Reconfiguration"
8234c62abc9SPaul E. McKenney,Booktitle="Proceedings of the 2003 USENIX Annual Technical Conference"
8244c62abc9SPaul E. McKenney,Publisher="USENIX Association"
8254c62abc9SPaul E. McKenney,year="2003"
8264c62abc9SPaul E. McKenney,month="June"
8274c62abc9SPaul E. McKenney,pages="141-154"
8281da177e4SLinus Torvalds}
8291da177e4SLinus Torvalds
8301da177e4SLinus Torvalds@article{McKenney03a
8311da177e4SLinus Torvalds,author="Paul E. McKenney"
8321da177e4SLinus Torvalds,title="Using {RCU} in the {Linux} 2.5 Kernel"
8331da177e4SLinus Torvalds,Year="2003"
8341da177e4SLinus Torvalds,Month="October"
8351da177e4SLinus Torvalds,journal="Linux Journal"
8361da177e4SLinus Torvalds,volume="1"
8371da177e4SLinus Torvalds,number="114"
8381da177e4SLinus Torvalds,pages="18-26"
8394c62abc9SPaul E. McKenney,note="Available:
8404c62abc9SPaul E. McKenney\url{http://www.linuxjournal.com/article/6993}
8414c62abc9SPaul E. McKenney[Viewed November 14, 2007]"
842*6ae37718SPaul E. McKenney,annotation={
8434c62abc9SPaul E. McKenney	Reader-friendly intro to RCU, with the infamous old-man-and-brat
8444c62abc9SPaul E. McKenney	cartoon.
845*6ae37718SPaul E. McKenney}
8464c62abc9SPaul E. McKenney}
8474c62abc9SPaul E. McKenney
8484c62abc9SPaul E. McKenney@unpublished{Sarma03a
8494c62abc9SPaul E. McKenney,Author="Dipankar Sarma"
8504c62abc9SPaul E. McKenney,Title="RCU low latency patches"
8514c62abc9SPaul E. McKenney,month="December"
8524c62abc9SPaul E. McKenney,year="2003"
8534c62abc9SPaul E. McKenney,note="Message ID: 20031222180114.GA2248@in.ibm.com"
854*6ae37718SPaul E. McKenney,annotation={
855*6ae37718SPaul E. McKenney	dipankar/ct.2004.03.27/RCUll.2003.12.22.patch
856*6ae37718SPaul E. McKenney}
8571da177e4SLinus Torvalds}
8581da177e4SLinus Torvalds
859a83f1fe2SPaul E. McKenney@techreport{Friedberg03a
860a83f1fe2SPaul E. McKenney,author="Stuart A. Friedberg"
861a83f1fe2SPaul E. McKenney,title="Lock-Free Wild Card Search Data Structure and Method"
862a83f1fe2SPaul E. McKenney,institution="US Patent and Trademark Office"
863a83f1fe2SPaul E. McKenney,address="Washington, DC"
864a83f1fe2SPaul E. McKenney,year="2003"
8654c62abc9SPaul E. McKenney,number="US Patent 6,662,184"
866a83f1fe2SPaul E. McKenney,month="December"
867a83f1fe2SPaul E. McKenney,pages="112"
868*6ae37718SPaul E. McKenney,annotation={
8694c62abc9SPaul E. McKenney	Applies RCU to a wildcard-search Patricia tree in order to permit
8704c62abc9SPaul E. McKenney	synchronization-free lookup.  RCU is used to retain removed nodes
8714c62abc9SPaul E. McKenney	for a grace period before freeing them.
872*6ae37718SPaul E. McKenney}
873a83f1fe2SPaul E. McKenney}
874a83f1fe2SPaul E. McKenney
8751da177e4SLinus Torvalds@article{McKenney04a
8761da177e4SLinus Torvalds,author="Paul E. McKenney and Dipankar Sarma and Maneesh Soni"
8771da177e4SLinus Torvalds,title="Scaling dcache with {RCU}"
8781da177e4SLinus Torvalds,Year="2004"
8791da177e4SLinus Torvalds,Month="January"
8801da177e4SLinus Torvalds,journal="Linux Journal"
8811da177e4SLinus Torvalds,volume="1"
8821da177e4SLinus Torvalds,number="118"
8831da177e4SLinus Torvalds,pages="38-46"
884*6ae37718SPaul E. McKenney,annotation={
8854c62abc9SPaul E. McKenney	Reader friendly intro to dcache and RCU.
886*6ae37718SPaul E. McKenney	http://www.linuxjournal.com/node/7124
887*6ae37718SPaul E. McKenney	[Viewed December 26, 2010]
888*6ae37718SPaul E. McKenney}
8891da177e4SLinus Torvalds}
8901da177e4SLinus Torvalds
8911da177e4SLinus Torvalds@Conference{McKenney04b
8921da177e4SLinus Torvalds,Author="Paul E. McKenney"
8931da177e4SLinus Torvalds,Title="{RCU} vs. Locking Performance on Different {CPUs}"
8941da177e4SLinus Torvalds,Booktitle="{linux.conf.au}"
8951da177e4SLinus Torvalds,Month="January"
8961da177e4SLinus Torvalds,Year="2004"
8971da177e4SLinus Torvalds,Address="Adelaide, Australia"
8981da177e4SLinus Torvalds,note="Available:
8991da177e4SLinus Torvalds\url{http://www.linux.org.au/conf/2004/abstracts.html#90}
9004c62abc9SPaul E. McKenney\url{http://www.rdrop.com/users/paulmck/RCU/lockperf.2004.01.17a.pdf}
9011da177e4SLinus Torvalds[Viewed June 23, 2004]"
902*6ae37718SPaul E. McKenney,annotation={
9034c62abc9SPaul E. McKenney	Compares performance of RCU to that of other locking primitives
9044c62abc9SPaul E. McKenney	over a number of CPUs (x86, Opteron, Itanium, and PPC).
905*6ae37718SPaul E. McKenney}
9064c62abc9SPaul E. McKenney}
9074c62abc9SPaul E. McKenney
9084c62abc9SPaul E. McKenney@unpublished{Sarma04a
9094c62abc9SPaul E. McKenney,Author="Dipankar Sarma"
9104c62abc9SPaul E. McKenney,Title="{[PATCH]} {RCU} for low latency (experimental)"
9114c62abc9SPaul E. McKenney,month="March"
9124c62abc9SPaul E. McKenney,year="2004"
9134c62abc9SPaul E. McKenney,note="\url{http://marc.theaimsgroup.com/?l=linux-kernel&m=108003746402892&w=2}"
914*6ae37718SPaul E. McKenney,annotation={
915*6ae37718SPaul E. McKenney	Head of thread: dipankar/2004.03.23/rcu-low-lat.1.patch
916*6ae37718SPaul E. McKenney}
9174c62abc9SPaul E. McKenney}
9184c62abc9SPaul E. McKenney
9194c62abc9SPaul E. McKenney@unpublished{Sarma04b
9204c62abc9SPaul E. McKenney,Author="Dipankar Sarma"
9214c62abc9SPaul E. McKenney,Title="Re: {[PATCH]} {RCU} for low latency (experimental)"
9224c62abc9SPaul E. McKenney,month="March"
9234c62abc9SPaul E. McKenney,year="2004"
9244c62abc9SPaul E. McKenney,note="\url{http://marc.theaimsgroup.com/?l=linux-kernel&m=108016474829546&w=2}"
925*6ae37718SPaul E. McKenney,annotation={
926*6ae37718SPaul E. McKenney	dipankar/rcuth.2004.03.24/rcu-throttle.patch
927*6ae37718SPaul E. McKenney}
9284c62abc9SPaul E. McKenney}
9294c62abc9SPaul E. McKenney
9304c62abc9SPaul E. McKenney@unpublished{Spraul04a
9314c62abc9SPaul E. McKenney,Author="Manfred Spraul"
9324c62abc9SPaul E. McKenney,Title="[RFC] 0/5 rcu lock update"
9334c62abc9SPaul E. McKenney,month="May"
9344c62abc9SPaul E. McKenney,year="2004"
9354c62abc9SPaul E. McKenney,note="Available:
9364c62abc9SPaul E. McKenney\url{http://marc.theaimsgroup.com/?l=linux-kernel&m=108546407726602&w=2}
9374c62abc9SPaul E. McKenney[Viewed June 23, 2004]"
938*6ae37718SPaul E. McKenney,annotation={
9394c62abc9SPaul E. McKenney	Hierarchical-bitmap patch for RCU infrastructure.
940*6ae37718SPaul E. McKenney}
9414c62abc9SPaul E. McKenney}
9424c62abc9SPaul E. McKenney
9434c62abc9SPaul E. McKenney@unpublished{Steiner04a
9444c62abc9SPaul E. McKenney,Author="Jack Steiner"
9454c62abc9SPaul E. McKenney,Title="Re: [Lse-tech] [RFC, PATCH] 1/5 rcu lock update:
9464c62abc9SPaul E. McKenneyAdd per-cpu batch counter"
9474c62abc9SPaul E. McKenney,month="May"
9484c62abc9SPaul E. McKenney,year="2004"
9494c62abc9SPaul E. McKenney,note="Available:
9504c62abc9SPaul E. McKenney\url{http://marc.theaimsgroup.com/?l=linux-kernel&m=108551764515332&w=2}
9514c62abc9SPaul E. McKenney[Viewed June 23, 2004]"
9524c62abc9SPaul E. McKenney,annotation={
9534c62abc9SPaul E. McKenney	RCU runs reasonably on a 512-CPU SGI using Manfred Spraul's patches,
9544c62abc9SPaul E. McKenney	which may be found at:
9554c62abc9SPaul E. McKenney	https://lkml.org/lkml/2004/5/20/49 (split vars into cachelines)
9564c62abc9SPaul E. McKenney	https://lkml.org/lkml/2004/5/22/114 (cpu_quiet() patch)
9574c62abc9SPaul E. McKenney	https://lkml.org/lkml/2004/5/25/24 (0/5)
9584c62abc9SPaul E. McKenney	https://lkml.org/lkml/2004/5/25/23 (1/5)
9594c62abc9SPaul E. McKenney		https://lkml.org/lkml/2004/5/25/265 (works for Jack)
9604c62abc9SPaul E. McKenney	https://lkml.org/lkml/2004/5/25/20 (2/5)
9614c62abc9SPaul E. McKenney	https://lkml.org/lkml/2004/5/25/22 (3/5)
9624c62abc9SPaul E. McKenney	https://lkml.org/lkml/2004/5/25/19 (4/5)
9634c62abc9SPaul E. McKenney	https://lkml.org/lkml/2004/5/25/21 (5/5)
9644c62abc9SPaul E. McKenney}
9654c62abc9SPaul E. McKenney}
9664c62abc9SPaul E. McKenney
9674c62abc9SPaul E. McKenney@Conference{Sarma04c
9684c62abc9SPaul E. McKenney,Author="Dipankar Sarma and Paul E. McKenney"
9694c62abc9SPaul E. McKenney,Title="Making {RCU} Safe for Deep Sub-Millisecond Response
9704c62abc9SPaul E. McKenneyRealtime Applications"
9714c62abc9SPaul E. McKenney,Booktitle="Proceedings of the 2004 USENIX Annual Technical Conference
9724c62abc9SPaul E. McKenney(FREENIX Track)"
9734c62abc9SPaul E. McKenney,Publisher="USENIX Association"
9744c62abc9SPaul E. McKenney,year="2004"
9754c62abc9SPaul E. McKenney,month="June"
9764c62abc9SPaul E. McKenney,pages="182-191"
977*6ae37718SPaul E. McKenney,annotation={
9784c62abc9SPaul E. McKenney	Describes and compares a number of modifications to the Linux RCU
9794c62abc9SPaul E. McKenney	implementation that make it friendly to realtime applications.
980*6ae37718SPaul E. McKenney	https://www.usenix.org/conference/2004-usenix-annual-technical-conference/making-rcu-safe-deep-sub-millisecond-response
981*6ae37718SPaul E. McKenney	[Viewed July 26, 2012]
982*6ae37718SPaul E. McKenney}
9831da177e4SLinus Torvalds}
9841da177e4SLinus Torvalds
9851da177e4SLinus Torvalds@phdthesis{PaulEdwardMcKenneyPhD
9861da177e4SLinus Torvalds,author="Paul E. McKenney"
9871da177e4SLinus Torvalds,title="Exploiting Deferred Destruction:
9881da177e4SLinus TorvaldsAn Analysis of Read-Copy-Update Techniques
9891da177e4SLinus Torvaldsin Operating System Kernels"
9901da177e4SLinus Torvalds,school="OGI School of Science and Engineering at
9911da177e4SLinus TorvaldsOregon Health and Sciences University"
9921da177e4SLinus Torvalds,year="2004"
993*6ae37718SPaul E. McKenney,annotation={
9944c62abc9SPaul E. McKenney	Describes RCU implementations and presents design patterns
9954c62abc9SPaul E. McKenney	corresponding to common uses of RCU in several operating-system
9964c62abc9SPaul E. McKenney	kernels.
997*6ae37718SPaul E. McKenney	http://www.rdrop.com/users/paulmck/RCU/RCUdissertation.2004.07.14e1.pdf
998*6ae37718SPaul E. McKenney	[Viewed October 15, 2004]
999*6ae37718SPaul E. McKenney}
10001da177e4SLinus Torvalds}
10011da177e4SLinus Torvalds
10024c62abc9SPaul E. McKenney@unpublished{PaulEMcKenney2004rcu:dereference
10034c62abc9SPaul E. McKenney,Author="Dipankar Sarma"
10044c62abc9SPaul E. McKenney,Title="{Re: RCU : Abstracted RCU dereferencing [5/5]}"
10054c62abc9SPaul E. McKenney,month="August"
10061da177e4SLinus Torvalds,year="2004"
10074c62abc9SPaul E. McKenney,note="Available:
10084c62abc9SPaul E. McKenney\url{http://lkml.org/lkml/2004/8/6/237}
10094c62abc9SPaul E. McKenney[Viewed June 8, 2010]"
1010*6ae37718SPaul E. McKenney,annotation={
10114c62abc9SPaul E. McKenney	Introduce rcu_dereference().
1012*6ae37718SPaul E. McKenney}
10134c62abc9SPaul E. McKenney}
10144c62abc9SPaul E. McKenney
10154c62abc9SPaul E. McKenney@unpublished{JimHouston04a
10164c62abc9SPaul E. McKenney,Author="Jim Houston"
10174c62abc9SPaul E. McKenney,Title="{[RFC\&PATCH] Alternative {RCU} implementation}"
10184c62abc9SPaul E. McKenney,month="August"
10194c62abc9SPaul E. McKenney,year="2004"
10204c62abc9SPaul E. McKenney,note="Available:
10214c62abc9SPaul E. McKenney\url{http://lkml.org/lkml/2004/8/30/87}
10224c62abc9SPaul E. McKenney[Viewed February 17, 2005]"
1023*6ae37718SPaul E. McKenney,annotation={
10244c62abc9SPaul E. McKenney	Uses active code in rcu_read_lock() and rcu_read_unlock() to
10254c62abc9SPaul E. McKenney	make RCU happen, allowing RCU to function on CPUs that do not
10264c62abc9SPaul E. McKenney	receive a scheduling-clock interrupt.
1027*6ae37718SPaul E. McKenney}
10284c62abc9SPaul E. McKenney}
10294c62abc9SPaul E. McKenney
10304c62abc9SPaul E. McKenney@unpublished{TomHart04a
10314c62abc9SPaul E. McKenney,Author="Thomas E. Hart"
10324c62abc9SPaul E. McKenney,Title="Master's Thesis: Applying Lock-free Techniques to the {Linux} Kernel"
10334c62abc9SPaul E. McKenney,month="October"
10344c62abc9SPaul E. McKenney,year="2004"
10354c62abc9SPaul E. McKenney,note="Available:
10364c62abc9SPaul E. McKenney\url{http://www.cs.toronto.edu/~tomhart/masters_thesis.html}
10374c62abc9SPaul E. McKenney[Viewed October 15, 2004]"
1038*6ae37718SPaul E. McKenney,annotation={
10394c62abc9SPaul E. McKenney	Proposes comparing RCU to lock-free methods for the Linux kernel.
1040*6ae37718SPaul E. McKenney}
10414c62abc9SPaul E. McKenney}
10424c62abc9SPaul E. McKenney
10434c62abc9SPaul E. McKenney@unpublished{Vaddagiri04a
10444c62abc9SPaul E. McKenney,Author="Srivatsa Vaddagiri"
10454c62abc9SPaul E. McKenney,Title="Subject: [RFC] Use RCU for tcp\_ehash lookup"
10464c62abc9SPaul E. McKenney,month="October"
10474c62abc9SPaul E. McKenney,year="2004"
10484c62abc9SPaul E. McKenney,note="Available:
10494c62abc9SPaul E. McKenney\url{http://marc.theaimsgroup.com/?t=109395731700004&r=1&w=2}
10504c62abc9SPaul E. McKenney[Viewed October 18, 2004]"
1051*6ae37718SPaul E. McKenney,annotation={
10524c62abc9SPaul E. McKenney	Srivatsa's RCU patch for tcp_ehash lookup.
1053*6ae37718SPaul E. McKenney}
10544c62abc9SPaul E. McKenney}
10554c62abc9SPaul E. McKenney
10564c62abc9SPaul E. McKenney@unpublished{Thirumalai04a
10574c62abc9SPaul E. McKenney,Author="Ravikiran Thirumalai"
10584c62abc9SPaul E. McKenney,Title="Subject: [patchset] Lockfree fd lookup 0 of 5"
10594c62abc9SPaul E. McKenney,month="October"
10604c62abc9SPaul E. McKenney,year="2004"
10614c62abc9SPaul E. McKenney,note="Available:
10624c62abc9SPaul E. McKenney\url{http://marc.theaimsgroup.com/?t=109144217400003&r=1&w=2}
10634c62abc9SPaul E. McKenney[Viewed October 18, 2004]"
1064*6ae37718SPaul E. McKenney,annotation={
10654c62abc9SPaul E. McKenney	Ravikiran's lockfree FD patch.
1066*6ae37718SPaul E. McKenney}
10674c62abc9SPaul E. McKenney}
10684c62abc9SPaul E. McKenney
10694c62abc9SPaul E. McKenney@unpublished{Thirumalai04b
10704c62abc9SPaul E. McKenney,Author="Ravikiran Thirumalai"
10714c62abc9SPaul E. McKenney,Title="Subject: Re: [patchset] Lockfree fd lookup 0 of 5"
10724c62abc9SPaul E. McKenney,month="October"
10734c62abc9SPaul E. McKenney,year="2004"
10744c62abc9SPaul E. McKenney,note="Available:
10754c62abc9SPaul E. McKenney\url{http://marc.theaimsgroup.com/?l=linux-kernel&m=109152521410459&w=2}
10764c62abc9SPaul E. McKenney[Viewed October 18, 2004]"
1077*6ae37718SPaul E. McKenney,annotation={
10784c62abc9SPaul E. McKenney	Ravikiran's lockfree FD patch.
1079*6ae37718SPaul E. McKenney}
10804c62abc9SPaul E. McKenney}
10814c62abc9SPaul E. McKenney
10824c62abc9SPaul E. McKenney@unpublished{PaulEMcKenney2004rcu:assign:pointer
10834c62abc9SPaul E. McKenney,Author="Paul E. McKenney"
10844c62abc9SPaul E. McKenney,Title="{[PATCH 1/3] RCU: \url{rcu_assign_pointer()} removal of memory barriers}"
10854c62abc9SPaul E. McKenney,month="October"
10864c62abc9SPaul E. McKenney,year="2004"
10874c62abc9SPaul E. McKenney,note="Available:
10884c62abc9SPaul E. McKenney\url{http://lkml.org/lkml/2004/10/23/241}
10894c62abc9SPaul E. McKenney[Viewed June 8, 2010]"
1090*6ae37718SPaul E. McKenney,annotation={
10914c62abc9SPaul E. McKenney	Introduce rcu_assign_pointer().
1092*6ae37718SPaul E. McKenney}
10934c62abc9SPaul E. McKenney}
10944c62abc9SPaul E. McKenney
10954c62abc9SPaul E. McKenney@unpublished{JamesMorris04a
10964c62abc9SPaul E. McKenney,Author="James Morris"
10974c62abc9SPaul E. McKenney,Title="{[PATCH 2/3] SELinux} scalability - convert {AVC} to {RCU}"
10984c62abc9SPaul E. McKenney,day="15"
10994c62abc9SPaul E. McKenney,month="November"
11004c62abc9SPaul E. McKenney,year="2004"
1101*6ae37718SPaul E. McKenney,note="\url{http://marc.theaimsgroup.com/?l=linux-kernel&m=110054979416004&w=2}"
1102*6ae37718SPaul E. McKenney,annotation={
11034c62abc9SPaul E. McKenney	James Morris posts Kaigai Kohei's patch to LKML.
1104*6ae37718SPaul E. McKenney	[Viewed December 10, 2004]
1105*6ae37718SPaul E. McKenney	Kaigai's patch is at https://lkml.org/lkml/2004/9/27/52
1106*6ae37718SPaul E. McKenney}
11071da177e4SLinus Torvalds}
1108a83f1fe2SPaul E. McKenney
1109a83f1fe2SPaul E. McKenney@unpublished{JamesMorris04b
1110a83f1fe2SPaul E. McKenney,Author="James Morris"
1111a83f1fe2SPaul E. McKenney,Title="Recent Developments in {SELinux} Kernel Performance"
1112a83f1fe2SPaul E. McKenney,month="December"
1113a83f1fe2SPaul E. McKenney,year="2004"
1114a83f1fe2SPaul E. McKenney,note="Available:
1115a83f1fe2SPaul E. McKenney\url{http://www.livejournal.com/users/james_morris/2153.html}
1116a83f1fe2SPaul E. McKenney[Viewed December 10, 2004]"
1117*6ae37718SPaul E. McKenney,annotation={
11184c62abc9SPaul E. McKenney	RCU helps SELinux performance.  ;-)  Made LWN.
1119*6ae37718SPaul E. McKenney}
11204c62abc9SPaul E. McKenney}
11214c62abc9SPaul E. McKenney
11224c62abc9SPaul E. McKenney@unpublished{PaulMcKenney2005RCUSemantics
11234c62abc9SPaul E. McKenney,Author="Paul E. McKenney and Jonathan Walpole"
11244c62abc9SPaul E. McKenney,Title="{RCU} Semantics: A First Attempt"
11254c62abc9SPaul E. McKenney,month="January"
11264c62abc9SPaul E. McKenney,year="2005"
11274c62abc9SPaul E. McKenney,day="30"
11284c62abc9SPaul E. McKenney,note="Available:
11294c62abc9SPaul E. McKenney\url{http://www.rdrop.com/users/paulmck/RCU/rcu-semantics.2005.01.30a.pdf}
11304c62abc9SPaul E. McKenney[Viewed December 6, 2009]"
1131*6ae37718SPaul E. McKenney,annotation={
11324c62abc9SPaul E. McKenney	Early derivation of RCU semantics.
1133*6ae37718SPaul E. McKenney}
11344c62abc9SPaul E. McKenney}
11354c62abc9SPaul E. McKenney
11364c62abc9SPaul E. McKenney@unpublished{PaulMcKenney2005e
11374c62abc9SPaul E. McKenney,Author="Paul E. McKenney"
11384c62abc9SPaul E. McKenney,Title="Real-Time Preemption and {RCU}"
11394c62abc9SPaul E. McKenney,month="March"
11404c62abc9SPaul E. McKenney,year="2005"
11414c62abc9SPaul E. McKenney,day="17"
11424c62abc9SPaul E. McKenney,note="Available:
11434c62abc9SPaul E. McKenney\url{http://lkml.org/lkml/2005/3/17/199}
11444c62abc9SPaul E. McKenney[Viewed September 5, 2005]"
1145*6ae37718SPaul E. McKenney,annotation={
11464c62abc9SPaul E. McKenney	First posting showing how RCU can be safely adapted for
11474c62abc9SPaul E. McKenney	preemptable RCU read side critical sections.
1148*6ae37718SPaul E. McKenney}
11494c62abc9SPaul E. McKenney}
11504c62abc9SPaul E. McKenney
11514c62abc9SPaul E. McKenney@unpublished{EsbenNeilsen2005a
11524c62abc9SPaul E. McKenney,Author="Esben Neilsen"
11534c62abc9SPaul E. McKenney,Title="Re: Real-Time Preemption and {RCU}"
11544c62abc9SPaul E. McKenney,month="March"
11554c62abc9SPaul E. McKenney,year="2005"
11564c62abc9SPaul E. McKenney,day="18"
11574c62abc9SPaul E. McKenney,note="Available:
11584c62abc9SPaul E. McKenney\url{http://lkml.org/lkml/2005/3/18/122}
11594c62abc9SPaul E. McKenney[Viewed March 30, 2006]"
1160*6ae37718SPaul E. McKenney,annotation={
11614c62abc9SPaul E. McKenney	Esben Neilsen suggests read-side suppression of grace-period
11624c62abc9SPaul E. McKenney	processing for crude-but-workable realtime RCU.  The downside
11634c62abc9SPaul E. McKenney	is indefinite grace periods...  But this is OK for experimentation
11644c62abc9SPaul E. McKenney	and testing.
1165*6ae37718SPaul E. McKenney}
11664c62abc9SPaul E. McKenney}
11674c62abc9SPaul E. McKenney
11684c62abc9SPaul E. McKenney@unpublished{TomHart05a
11694c62abc9SPaul E. McKenney,Author="Thomas E. Hart and Paul E. McKenney and Angela Demke Brown"
11704c62abc9SPaul E. McKenney,Title="Efficient Memory Reclamation is Necessary for Fast Lock-Free
11714c62abc9SPaul E. McKenneyData Structures"
11724c62abc9SPaul E. McKenney,month="March"
11734c62abc9SPaul E. McKenney,year="2005"
11744c62abc9SPaul E. McKenney,note="Available:
11754c62abc9SPaul E. McKenney\url{ftp://ftp.cs.toronto.edu/csrg-technical-reports/515/}
11764c62abc9SPaul E. McKenney[Viewed March 4, 2005]"
1177*6ae37718SPaul E. McKenney,annotation={
11784c62abc9SPaul E. McKenney	Comparison of RCU, QBSR, and EBSR.  RCU wins for read-mostly
11794c62abc9SPaul E. McKenney	workloads.  ;-)
1180*6ae37718SPaul E. McKenney}
11814c62abc9SPaul E. McKenney}
11824c62abc9SPaul E. McKenney
11834c62abc9SPaul E. McKenney@unpublished{JonCorbet2005DeprecateSyncKernel
11844c62abc9SPaul E. McKenney,Author="Jonathan Corbet"
11854c62abc9SPaul E. McKenney,Title="API change: synchronize_kernel() deprecated"
11864c62abc9SPaul E. McKenney,month="May"
11874c62abc9SPaul E. McKenney,day="3"
11884c62abc9SPaul E. McKenney,year="2005"
11894c62abc9SPaul E. McKenney,note="Available:
11904c62abc9SPaul E. McKenney\url{http://lwn.net/Articles/134484/}
11914c62abc9SPaul E. McKenney[Viewed May 3, 2005]"
1192*6ae37718SPaul E. McKenney,annotation={
11934c62abc9SPaul E. McKenney	Jon Corbet describes deprecation of synchronize_kernel()
11944c62abc9SPaul E. McKenney	in favor of synchronize_rcu() and synchronize_sched().
1195*6ae37718SPaul E. McKenney}
1196a83f1fe2SPaul E. McKenney}
1197dd81eca8SPaul E. McKenney
1198dd81eca8SPaul E. McKenney@unpublished{PaulMcKenney05a
1199dd81eca8SPaul E. McKenney,Author="Paul E. McKenney"
1200dd81eca8SPaul E. McKenney,Title="{[RFC]} {RCU} and {CONFIG\_PREEMPT\_RT} progress"
1201dd81eca8SPaul E. McKenney,month="May"
1202dd81eca8SPaul E. McKenney,year="2005"
1203dd81eca8SPaul E. McKenney,note="Available:
1204dd81eca8SPaul E. McKenney\url{http://lkml.org/lkml/2005/5/9/185}
1205dd81eca8SPaul E. McKenney[Viewed May 13, 2005]"
1206*6ae37718SPaul E. McKenney,annotation={
1207dd81eca8SPaul E. McKenney	First publication of working lock-based deferred free patches
1208dd81eca8SPaul E. McKenney	for the CONFIG_PREEMPT_RT environment.
1209*6ae37718SPaul E. McKenney}
1210dd81eca8SPaul E. McKenney}
1211dd81eca8SPaul E. McKenney
1212dd81eca8SPaul E. McKenney@conference{PaulMcKenney05b
1213dd81eca8SPaul E. McKenney,Author="Paul E. McKenney and Dipankar Sarma"
12144c62abc9SPaul E. McKenney,Title="Towards Hard Realtime Response from the {Linux} Kernel on {SMP} Hardware"
1215dd81eca8SPaul E. McKenney,Booktitle="linux.conf.au 2005"
1216dd81eca8SPaul E. McKenney,month="April"
1217dd81eca8SPaul E. McKenney,year="2005"
1218dd81eca8SPaul E. McKenney,address="Canberra, Australia"
1219dd81eca8SPaul E. McKenney,note="Available:
1220dd81eca8SPaul E. McKenney\url{http://www.rdrop.com/users/paulmck/RCU/realtimeRCU.2005.04.23a.pdf}
1221dd81eca8SPaul E. McKenney[Viewed May 13, 2005]"
1222*6ae37718SPaul E. McKenney,annotation={
1223dd81eca8SPaul E. McKenney	Realtime turns into making RCU yet more realtime friendly.
12244c62abc9SPaul E. McKenney	http://lca2005.linux.org.au/Papers/Paul%20McKenney/Towards%20Hard%20Realtime%20Response%20from%20the%20Linux%20Kernel/LKS.2005.04.22a.pdf
1225*6ae37718SPaul E. McKenney}
12264c62abc9SPaul E. McKenney}
12274c62abc9SPaul E. McKenney
12284c62abc9SPaul E. McKenney@unpublished{PaulEMcKenneyHomePage
12294c62abc9SPaul E. McKenney,Author="Paul E. McKenney"
12304c62abc9SPaul E. McKenney,Title="{Paul} {E.} {McKenney}"
12314c62abc9SPaul E. McKenney,month="May"
12324c62abc9SPaul E. McKenney,year="2005"
12334c62abc9SPaul E. McKenney,note="Available:
12344c62abc9SPaul E. McKenney\url{http://www.rdrop.com/users/paulmck/}
12354c62abc9SPaul E. McKenney[Viewed May 25, 2005]"
1236*6ae37718SPaul E. McKenney,annotation={
12374c62abc9SPaul E. McKenney	Paul McKenney's home page.
1238*6ae37718SPaul E. McKenney}
12394c62abc9SPaul E. McKenney}
12404c62abc9SPaul E. McKenney
12414c62abc9SPaul E. McKenney@unpublished{PaulEMcKenneyRCUPage
12424c62abc9SPaul E. McKenney,Author="Paul E. McKenney"
12434c62abc9SPaul E. McKenney,Title="Read-Copy Update {(RCU)}"
12444c62abc9SPaul E. McKenney,month="May"
12454c62abc9SPaul E. McKenney,year="2005"
12464c62abc9SPaul E. McKenney,note="Available:
12474c62abc9SPaul E. McKenney\url{http://www.rdrop.com/users/paulmck/RCU}
12484c62abc9SPaul E. McKenney[Viewed May 25, 2005]"
1249*6ae37718SPaul E. McKenney,annotation={
12504c62abc9SPaul E. McKenney	Paul McKenney's RCU page.
1251*6ae37718SPaul E. McKenney}
12524c62abc9SPaul E. McKenney}
12534c62abc9SPaul E. McKenney
12544c62abc9SPaul E. McKenney@unpublished{JosephSeigh2005a
12554c62abc9SPaul E. McKenney,Author="Joseph Seigh"
12564c62abc9SPaul E. McKenney,Title="{RCU}+{SMR} (hazard pointers)"
12574c62abc9SPaul E. McKenney,month="July"
12584c62abc9SPaul E. McKenney,year="2005"
12594c62abc9SPaul E. McKenney,note="Personal communication"
1260*6ae37718SPaul E. McKenney,annotation={
12614c62abc9SPaul E. McKenney	Joe Seigh announcing his atomic-ptr-plus project.
12624c62abc9SPaul E. McKenney	http://sourceforge.net/projects/atomic-ptr-plus/
1263*6ae37718SPaul E. McKenney}
12644c62abc9SPaul E. McKenney}
12654c62abc9SPaul E. McKenney
12664c62abc9SPaul E. McKenney@unpublished{JosephSeigh2005b
12674c62abc9SPaul E. McKenney,Author="Joseph Seigh"
12684c62abc9SPaul E. McKenney,Title="Lock-free synchronization primitives"
12694c62abc9SPaul E. McKenney,month="July"
12704c62abc9SPaul E. McKenney,day="6"
12714c62abc9SPaul E. McKenney,year="2005"
12724c62abc9SPaul E. McKenney,note="Available:
12734c62abc9SPaul E. McKenney\url{http://sourceforge.net/projects/atomic-ptr-plus/}
12744c62abc9SPaul E. McKenney[Viewed August 8, 2005]"
1275*6ae37718SPaul E. McKenney,annotation={
12764c62abc9SPaul E. McKenney	Joe Seigh's atomic-ptr-plus project.
1277*6ae37718SPaul E. McKenney}
12784c62abc9SPaul E. McKenney}
12794c62abc9SPaul E. McKenney
12804c62abc9SPaul E. McKenney@unpublished{PaulMcKenney2005c
12814c62abc9SPaul E. McKenney,Author="Paul E.McKenney"
12824c62abc9SPaul E. McKenney,Title="{[RFC,PATCH] RCU} and {CONFIG\_PREEMPT\_RT} sane patch"
12834c62abc9SPaul E. McKenney,month="August"
12844c62abc9SPaul E. McKenney,day="1"
12854c62abc9SPaul E. McKenney,year="2005"
12864c62abc9SPaul E. McKenney,note="Available:
12874c62abc9SPaul E. McKenney\url{http://lkml.org/lkml/2005/8/1/155}
12884c62abc9SPaul E. McKenney[Viewed March 14, 2006]"
1289*6ae37718SPaul E. McKenney,annotation={
12904c62abc9SPaul E. McKenney	First operating counter-based realtime RCU patch posted to LKML.
1291*6ae37718SPaul E. McKenney}
12924c62abc9SPaul E. McKenney}
12934c62abc9SPaul E. McKenney
12944c62abc9SPaul E. McKenney@unpublished{PaulMcKenney2005d
12954c62abc9SPaul E. McKenney,Author="Paul E. McKenney"
12964c62abc9SPaul E. McKenney,Title="Re: [Fwd: Re: [patch] Real-Time Preemption, -RT-2.6.13-rc4-V0.7.52-01]"
12974c62abc9SPaul E. McKenney,month="August"
12984c62abc9SPaul E. McKenney,day="8"
12994c62abc9SPaul E. McKenney,year="2005"
13004c62abc9SPaul E. McKenney,note="Available:
13014c62abc9SPaul E. McKenney\url{http://lkml.org/lkml/2005/8/8/108}
13024c62abc9SPaul E. McKenney[Viewed March 14, 2006]"
1303*6ae37718SPaul E. McKenney,annotation={
13044c62abc9SPaul E. McKenney	First operating counter-based realtime RCU patch posted to LKML,
13054c62abc9SPaul E. McKenney	but fixed so that various unusual combinations of configuration
13064c62abc9SPaul E. McKenney	parameters all function properly.
1307*6ae37718SPaul E. McKenney}
13084c62abc9SPaul E. McKenney}
13094c62abc9SPaul E. McKenney
13104c62abc9SPaul E. McKenney@unpublished{PaulMcKenney2005rcutorture
13114c62abc9SPaul E. McKenney,Author="Paul E. McKenney"
13124c62abc9SPaul E. McKenney,Title="{[PATCH]} {RCU} torture testing"
13134c62abc9SPaul E. McKenney,month="October"
13144c62abc9SPaul E. McKenney,day="1"
13154c62abc9SPaul E. McKenney,year="2005"
13164c62abc9SPaul E. McKenney,note="Available:
13174c62abc9SPaul E. McKenney\url{http://lkml.org/lkml/2005/10/1/70}
13184c62abc9SPaul E. McKenney[Viewed March 14, 2006]"
1319*6ae37718SPaul E. McKenney,annotation={
13204c62abc9SPaul E. McKenney	First rcutorture patch.
1321*6ae37718SPaul E. McKenney}
1322*6ae37718SPaul E. McKenney}
1323*6ae37718SPaul E. McKenney
1324*6ae37718SPaul E. McKenney@unpublished{DavidSMiller2006HashedLocking
1325*6ae37718SPaul E. McKenney,Author="David S. Miller"
1326*6ae37718SPaul E. McKenney,Title="Re: [{PATCH}, {RFC}] {RCU} : {OOM} avoidance and lower latency"
1327*6ae37718SPaul E. McKenney,month="January"
1328*6ae37718SPaul E. McKenney,day="6"
1329*6ae37718SPaul E. McKenney,year="2006"
1330*6ae37718SPaul E. McKenney,note="Available:
1331*6ae37718SPaul E. McKenney\url{https://lkml.org/lkml/2006/1/7/22}
1332*6ae37718SPaul E. McKenney[Viewed February 29, 2012]"
1333*6ae37718SPaul E. McKenney,annotation={
1334*6ae37718SPaul E. McKenney	David Miller's view on hashed arrays of locks: used to really
1335*6ae37718SPaul E. McKenney	like it, but time he saw an opportunity for this technique,
1336*6ae37718SPaul E. McKenney	something else always proved superior.  Partitioning or RCU.  ;-)
1337*6ae37718SPaul E. McKenney}
1338dd81eca8SPaul E. McKenney}
1339f85d6c71SPaul E. McKenney
1340f85d6c71SPaul E. McKenney@conference{ThomasEHart2006a
1341f85d6c71SPaul E. McKenney,Author="Thomas E. Hart and Paul E. McKenney and Angela Demke Brown"
1342f85d6c71SPaul E. McKenney,Title="Making Lockless Synchronization Fast: Performance Implications
1343f85d6c71SPaul E. McKenneyof Memory Reclamation"
1344f85d6c71SPaul E. McKenney,Booktitle="20\textsuperscript{th} {IEEE} International Parallel and
1345f85d6c71SPaul E. McKenneyDistributed Processing Symposium"
1346f85d6c71SPaul E. McKenney,month="April"
1347f85d6c71SPaul E. McKenney,year="2006"
1348f85d6c71SPaul E. McKenney,day="25-29"
1349f85d6c71SPaul E. McKenney,address="Rhodes, Greece"
13504c62abc9SPaul E. McKenney,note="Available:
13514c62abc9SPaul E. McKenney\url{http://www.rdrop.com/users/paulmck/RCU/hart_ipdps06.pdf}
13524c62abc9SPaul E. McKenney[Viewed April 28, 2008]"
1353*6ae37718SPaul E. McKenney,annotation={
13544c62abc9SPaul E. McKenney	Compares QSBR, HPBR, EBR, and lock-free reference counting.
13554c62abc9SPaul E. McKenney	http://www.cs.toronto.edu/~tomhart/perflab/ipdps06.tgz
1356*6ae37718SPaul E. McKenney}
13574c62abc9SPaul E. McKenney}
13584c62abc9SPaul E. McKenney
13594c62abc9SPaul E. McKenney@unpublished{NickPiggin2006radixtree
13604c62abc9SPaul E. McKenney,Author="Nick Piggin"
13614c62abc9SPaul E. McKenney,Title="[patch 3/3] radix-tree: {RCU} lockless readside"
13624c62abc9SPaul E. McKenney,month="June"
13634c62abc9SPaul E. McKenney,day="20"
13644c62abc9SPaul E. McKenney,year="2006"
13654c62abc9SPaul E. McKenney,note="Available:
13664c62abc9SPaul E. McKenney\url{http://lkml.org/lkml/2006/6/20/238}
13674c62abc9SPaul E. McKenney[Viewed March 25, 2008]"
1368*6ae37718SPaul E. McKenney,annotation={
13694c62abc9SPaul E. McKenney	RCU-protected radix tree.
1370*6ae37718SPaul E. McKenney}
1371f85d6c71SPaul E. McKenney}
1372f85d6c71SPaul E. McKenney
1373f85d6c71SPaul E. McKenney@Conference{PaulEMcKenney2006b
1374f85d6c71SPaul E. McKenney,Author="Paul E. McKenney and Dipankar Sarma and Ingo Molnar and
1375f85d6c71SPaul E. McKenneySuparna Bhattacharya"
13764c62abc9SPaul E. McKenney,Title="Extending {RCU} for Realtime and Embedded Workloads"
1377f85d6c71SPaul E. McKenney,Booktitle="{Ottawa Linux Symposium}"
1378f85d6c71SPaul E. McKenney,Month="July"
1379f85d6c71SPaul E. McKenney,Year="2006"
1380f85d6c71SPaul E. McKenney,pages="v2 123-138"
1381f85d6c71SPaul E. McKenney,note="Available:
13824c62abc9SPaul E. McKenney\url{http://www.linuxsymposium.org/2006/view_abstract.php?content_key=184}
1383f85d6c71SPaul E. McKenney\url{http://www.rdrop.com/users/paulmck/RCU/OLSrtRCU.2006.08.11a.pdf}
1384f85d6c71SPaul E. McKenney[Viewed January 1, 2007]"
1385*6ae37718SPaul E. McKenney,annotation={
1386f85d6c71SPaul E. McKenney	Described how to improve the -rt implementation of realtime RCU.
1387*6ae37718SPaul E. McKenney}
1388f85d6c71SPaul E. McKenney}
1389f85d6c71SPaul E. McKenney
13904c62abc9SPaul E. McKenney@unpublished{WikipediaRCU
13914c62abc9SPaul E. McKenney,Author="Paul E. McKenney and Chris Purcell and Algae and Ben Schumin and
13924c62abc9SPaul E. McKenneyGaius Cornelius and Qwertyus and Neil Conway and Sbw and Blainster and
13934c62abc9SPaul E. McKenneyCanis Rufus and Zoicon5 and Anome and Hal Eisen"
13944c62abc9SPaul E. McKenney,Title="Read-Copy Update"
13954c62abc9SPaul E. McKenney,month="July"
13964c62abc9SPaul E. McKenney,day="8"
13974c62abc9SPaul E. McKenney,year="2006"
1398*6ae37718SPaul E. McKenney,note="\url{http://en.wikipedia.org/wiki/Read-copy-update}"
1399*6ae37718SPaul E. McKenney,annotation={
14004c62abc9SPaul E. McKenney	Wikipedia RCU page as of July 8 2006.
1401*6ae37718SPaul E. McKenney	[Viewed August 21, 2006]
1402*6ae37718SPaul E. McKenney}
14034c62abc9SPaul E. McKenney}
14044c62abc9SPaul E. McKenney
14054c62abc9SPaul E. McKenney@Conference{NickPiggin2006LocklessPageCache
14064c62abc9SPaul E. McKenney,Author="Nick Piggin"
14074c62abc9SPaul E. McKenney,Title="A Lockless Pagecache in Linux---Introduction, Progress, Performance"
14084c62abc9SPaul E. McKenney,Booktitle="{Ottawa Linux Symposium}"
14094c62abc9SPaul E. McKenney,Month="July"
14104c62abc9SPaul E. McKenney,Year="2006"
14114c62abc9SPaul E. McKenney,pages="v2 249-254"
14124c62abc9SPaul E. McKenney,note="Available:
14134c62abc9SPaul E. McKenney\url{http://www.linuxsymposium.org/2006/view_abstract.php?content_key=184}
14144c62abc9SPaul E. McKenney[Viewed January 11, 2009]"
1415*6ae37718SPaul E. McKenney,annotation={
14164c62abc9SPaul E. McKenney	Uses RCU-protected radix tree for a lockless page cache.
1417*6ae37718SPaul E. McKenney}
14184c62abc9SPaul E. McKenney}
14194c62abc9SPaul E. McKenney
1420f85d6c71SPaul E. McKenney@unpublished{PaulEMcKenney2006c
1421f85d6c71SPaul E. McKenney,Author="Paul E. McKenney"
1422f85d6c71SPaul E. McKenney,Title="Sleepable {RCU}"
1423f85d6c71SPaul E. McKenney,month="October"
1424f85d6c71SPaul E. McKenney,day="9"
1425f85d6c71SPaul E. McKenney,year="2006"
1426f85d6c71SPaul E. McKenney,note="Available:
1427f85d6c71SPaul E. McKenney\url{http://lwn.net/Articles/202847/}
1428f85d6c71SPaul E. McKenneyRevised:
1429f85d6c71SPaul E. McKenney\url{http://www.rdrop.com/users/paulmck/RCU/srcu.2007.01.14a.pdf}
1430f85d6c71SPaul E. McKenney[Viewed August 21, 2006]"
1431*6ae37718SPaul E. McKenney,annotation={
1432f85d6c71SPaul E. McKenney	LWN article introducing SRCU.
1433*6ae37718SPaul E. McKenney}
1434f85d6c71SPaul E. McKenney}
1435f85d6c71SPaul E. McKenney
1436f85d6c71SPaul E. McKenney@unpublished{RobertOlsson2006a
1437f85d6c71SPaul E. McKenney,Author="Robert Olsson and Stefan Nilsson"
1438f85d6c71SPaul E. McKenney,Title="{TRASH}: A dynamic {LC}-trie and hash data structure"
1439f85d6c71SPaul E. McKenney,month="August"
1440f85d6c71SPaul E. McKenney,day="18"
1441f85d6c71SPaul E. McKenney,year="2006"
1442*6ae37718SPaul E. McKenney,note="\url{http://www.nada.kth.se/~snilsson/publications/TRASH/trash.pdf}"
1443*6ae37718SPaul E. McKenney,annotation={
1444f85d6c71SPaul E. McKenney	RCU-protected dynamic trie-hash combination.
1445*6ae37718SPaul E. McKenney	[Viewed March 4, 2011]
1446*6ae37718SPaul E. McKenney}
1447f85d6c71SPaul E. McKenney}
1448f85d6c71SPaul E. McKenney
14494c62abc9SPaul E. McKenney@unpublished{ChristophHellwig2006RCU2SRCU
14504c62abc9SPaul E. McKenney,Author="Christoph Hellwig"
14514c62abc9SPaul E. McKenney,Title="Re: {[-mm PATCH 1/4]} {RCU}: split classic rcu"
14524c62abc9SPaul E. McKenney,month="September"
14534c62abc9SPaul E. McKenney,day="28"
14544c62abc9SPaul E. McKenney,year="2006"
14554c62abc9SPaul E. McKenney,note="Available:
14564c62abc9SPaul E. McKenney\url{http://lkml.org/lkml/2006/9/28/160}
14574c62abc9SPaul E. McKenney[Viewed March 27, 2008]"
14584c62abc9SPaul E. McKenney}
14594c62abc9SPaul E. McKenney
14604c62abc9SPaul E. McKenney@unpublished{PaulEMcKenneyRCUusagePage
14614c62abc9SPaul E. McKenney,Author="Paul E. McKenney"
14624c62abc9SPaul E. McKenney,Title="{RCU} {Linux} Usage"
14634c62abc9SPaul E. McKenney,month="October"
14644c62abc9SPaul E. McKenney,year="2006"
14654c62abc9SPaul E. McKenney,note="Available:
14664c62abc9SPaul E. McKenney\url{http://www.rdrop.com/users/paulmck/RCU/linuxusage.html}
14674c62abc9SPaul E. McKenney[Viewed January 14, 2007]"
1468*6ae37718SPaul E. McKenney,annotation={
14694c62abc9SPaul E. McKenney	Paul McKenney's RCU page showing graphs plotting Linux-kernel
14704c62abc9SPaul E. McKenney	usage of RCU.
1471*6ae37718SPaul E. McKenney}
14724c62abc9SPaul E. McKenney}
14734c62abc9SPaul E. McKenney
14744c62abc9SPaul E. McKenney@unpublished{PaulEMcKenneyRCUusageRawDataPage
14754c62abc9SPaul E. McKenney,Author="Paul E. McKenney"
14764c62abc9SPaul E. McKenney,Title="Read-Copy Update {(RCU)} Usage in {Linux} Kernel"
14774c62abc9SPaul E. McKenney,month="October"
14784c62abc9SPaul E. McKenney,year="2006"
14794c62abc9SPaul E. McKenney,note="Available:
14804c62abc9SPaul E. McKenney\url{http://www.rdrop.com/users/paulmck/RCU/linuxusage/rculocktab.html}
14814c62abc9SPaul E. McKenney[Viewed January 14, 2007]"
1482*6ae37718SPaul E. McKenney,annotation={
14834c62abc9SPaul E. McKenney	Paul McKenney's RCU page showing Linux usage of RCU in tabular
14844c62abc9SPaul E. McKenney	form, with links to corresponding cscope databases.
1485*6ae37718SPaul E. McKenney}
14864c62abc9SPaul E. McKenney}
14874c62abc9SPaul E. McKenney
14884c62abc9SPaul E. McKenney@unpublished{GauthamShenoy2006RCUrwlock
14894c62abc9SPaul E. McKenney,Author="Gautham R. Shenoy"
14904c62abc9SPaul E. McKenney,Title="[PATCH 4/5] lock\_cpu\_hotplug: Redesign - Lightweight implementation of lock\_cpu\_hotplug"
14914c62abc9SPaul E. McKenney,month="October"
14924c62abc9SPaul E. McKenney,year="2006"
14934c62abc9SPaul E. McKenney,day=26
14944c62abc9SPaul E. McKenney,note="Available:
14954c62abc9SPaul E. McKenney\url{http://lkml.org/lkml/2006/10/26/73}
14964c62abc9SPaul E. McKenney[Viewed January 26, 2009]"
1497*6ae37718SPaul E. McKenney,annotation={
14984c62abc9SPaul E. McKenney	RCU-based reader-writer lock that allows readers to proceed with
14994c62abc9SPaul E. McKenney	no memory barriers or atomic instruction in absence of writers.
15004c62abc9SPaul E. McKenney	If writer do show up, readers must of course wait as required by
15014c62abc9SPaul E. McKenney	the semantics of reader-writer locking.  This is a recursive
15024c62abc9SPaul E. McKenney	lock.
1503*6ae37718SPaul E. McKenney}
15044c62abc9SPaul E. McKenney}
15054c62abc9SPaul E. McKenney
15064c62abc9SPaul E. McKenney@unpublished{JensAxboe2006SlowSRCU
15074c62abc9SPaul E. McKenney,Author="Jens Axboe"
15084c62abc9SPaul E. McKenney,Title="Re: [patch] cpufreq: mark \url{cpufreq_tsc()} as
15094c62abc9SPaul E. McKenney\url{core_initcall_sync}"
15104c62abc9SPaul E. McKenney,month="November"
15114c62abc9SPaul E. McKenney,year="2006"
15124c62abc9SPaul E. McKenney,day=17
15134c62abc9SPaul E. McKenney,note="Available:
15144c62abc9SPaul E. McKenney\url{http://lkml.org/lkml/2006/11/17/56}
15154c62abc9SPaul E. McKenney[Viewed May 28, 2007]"
1516*6ae37718SPaul E. McKenney,annotation={
15174c62abc9SPaul E. McKenney	SRCU's grace periods are too slow for Jens, even after a
15184c62abc9SPaul E. McKenney	factor-of-three speedup.
15194c62abc9SPaul E. McKenney	Sped-up version of SRCU at http://lkml.org/lkml/2006/11/17/359.
1520*6ae37718SPaul E. McKenney}
15214c62abc9SPaul E. McKenney}
15224c62abc9SPaul E. McKenney
15234c62abc9SPaul E. McKenney@unpublished{OlegNesterov2006QRCU
15244c62abc9SPaul E. McKenney,Author="Oleg Nesterov"
15254c62abc9SPaul E. McKenney,Title="Re: [patch] cpufreq: mark {\tt cpufreq\_tsc()} as
15264c62abc9SPaul E. McKenney{\tt core\_initcall\_sync}"
15274c62abc9SPaul E. McKenney,month="November"
15284c62abc9SPaul E. McKenney,year="2006"
15294c62abc9SPaul E. McKenney,day=19
15304c62abc9SPaul E. McKenney,note="Available:
15314c62abc9SPaul E. McKenney\url{http://lkml.org/lkml/2006/11/19/69}
15324c62abc9SPaul E. McKenney[Viewed May 28, 2007]"
1533*6ae37718SPaul E. McKenney,annotation={
15344c62abc9SPaul E. McKenney	First cut of QRCU.  Expanded/corrected versions followed.
15354c62abc9SPaul E. McKenney	Used to be OlegNesterov2007QRCU, now time-corrected.
1536*6ae37718SPaul E. McKenney}
15374c62abc9SPaul E. McKenney}
15384c62abc9SPaul E. McKenney
15394c62abc9SPaul E. McKenney@unpublished{OlegNesterov2006aQRCU
15404c62abc9SPaul E. McKenney,Author="Oleg Nesterov"
15414c62abc9SPaul E. McKenney,Title="Re: [RFC, PATCH 1/2] qrcu: {"quick"} srcu implementation"
15424c62abc9SPaul E. McKenney,month="November"
15434c62abc9SPaul E. McKenney,year="2006"
15444c62abc9SPaul E. McKenney,day=30
15454c62abc9SPaul E. McKenney,note="Available:
15464c62abc9SPaul E. McKenney\url{http://lkml.org/lkml/2006/11/29/330}
15474c62abc9SPaul E. McKenney[Viewed November 26, 2008]"
1548*6ae37718SPaul E. McKenney,annotation={
15494c62abc9SPaul E. McKenney	Expanded/corrected version of QRCU.
15504c62abc9SPaul E. McKenney	Used to be OlegNesterov2007aQRCU, now time-corrected.
1551*6ae37718SPaul E. McKenney}
15524c62abc9SPaul E. McKenney}
15534c62abc9SPaul E. McKenney
15544c62abc9SPaul E. McKenney@unpublished{EvgeniyPolyakov2006RCUslowdown
15554c62abc9SPaul E. McKenney,Author="Evgeniy Polyakov"
15564c62abc9SPaul E. McKenney,Title="Badness in postponing work"
15574c62abc9SPaul E. McKenney,month="December"
15584c62abc9SPaul E. McKenney,year="2006"
15594c62abc9SPaul E. McKenney,day=05
15604c62abc9SPaul E. McKenney,note="Available:
15614c62abc9SPaul E. McKenney\url{http://www.ioremap.net/node/41}
15624c62abc9SPaul E. McKenney[Viewed October 28, 2008]"
1563*6ae37718SPaul E. McKenney,annotation={
15644c62abc9SPaul E. McKenney	Using RCU as a pure delay leads to a 2.5x slowdown in skbs in
15654c62abc9SPaul E. McKenney	the Linux kernel.
1566*6ae37718SPaul E. McKenney}
15674c62abc9SPaul E. McKenney}
15684c62abc9SPaul E. McKenney
15694c62abc9SPaul E. McKenney@inproceedings{ChrisMatthews2006ClusteredObjectsRCU
15704c62abc9SPaul E. McKenney,author = {Matthews, Chris and Coady, Yvonne and Appavoo, Jonathan}
15714c62abc9SPaul E. McKenney,title = {Portability events: a programming model for scalable system infrastructures}
15724c62abc9SPaul E. McKenney,booktitle = {PLOS '06: Proceedings of the 3rd workshop on Programming languages and operating systems}
15734c62abc9SPaul E. McKenney,year = {2006}
15744c62abc9SPaul E. McKenney,isbn = {1-59593-577-0}
15754c62abc9SPaul E. McKenney,pages = {11}
15764c62abc9SPaul E. McKenney,location = {San Jose, California}
15774c62abc9SPaul E. McKenney,doi = {http://doi.acm.org/10.1145/1215995.1216006}
15784c62abc9SPaul E. McKenney,publisher = {ACM}
15794c62abc9SPaul E. McKenney,address = {New York, NY, USA}
1580f85d6c71SPaul E. McKenney,annotation={
15814c62abc9SPaul E. McKenney	Uses K42's RCU-like functionality to manage clustered-object
15824c62abc9SPaul E. McKenney	lifetimes.
1583*6ae37718SPaul E. McKenney}
1584*6ae37718SPaul E. McKenney}
15854c62abc9SPaul E. McKenney
15864c62abc9SPaul E. McKenney@article{DilmaDaSilva2006K42
15874c62abc9SPaul E. McKenney,author = {Silva, Dilma Da and Krieger, Orran and Wisniewski, Robert W. and Waterland, Amos and Tam, David and Baumann, Andrew}
15884c62abc9SPaul E. McKenney,title = {K42: an infrastructure for operating system research}
15894c62abc9SPaul E. McKenney,journal = {SIGOPS Oper. Syst. Rev.}
15904c62abc9SPaul E. McKenney,volume = {40}
15914c62abc9SPaul E. McKenney,number = {2}
15924c62abc9SPaul E. McKenney,year = {2006}
15934c62abc9SPaul E. McKenney,issn = {0163-5980}
15944c62abc9SPaul E. McKenney,pages = {34--42}
15954c62abc9SPaul E. McKenney,doi = {http://doi.acm.org/10.1145/1131322.1131333}
15964c62abc9SPaul E. McKenney,publisher = {ACM}
15974c62abc9SPaul E. McKenney,address = {New York, NY, USA}
15984c62abc9SPaul E. McKenney,annotation={
15994c62abc9SPaul E. McKenney	Describes relationship of K42 generations to RCU.
1600*6ae37718SPaul E. McKenney}
1601*6ae37718SPaul E. McKenney}
16024c62abc9SPaul E. McKenney
16034c62abc9SPaul E. McKenney# CoreyMinyard2007list_splice_rcu
16044c62abc9SPaul E. McKenney@unpublished{CoreyMinyard2007list:splice:rcu
16054c62abc9SPaul E. McKenney,Author="Corey Minyard and Paul E. McKenney"
16064c62abc9SPaul E. McKenney,Title="{[PATCH]} add an {RCU} version of list splicing"
16074c62abc9SPaul E. McKenney,month="January"
16084c62abc9SPaul E. McKenney,year="2007"
16094c62abc9SPaul E. McKenney,day=3
16104c62abc9SPaul E. McKenney,note="Available:
16114c62abc9SPaul E. McKenney\url{http://lkml.org/lkml/2007/1/3/112}
16124c62abc9SPaul E. McKenney[Viewed May 28, 2007]"
1613*6ae37718SPaul E. McKenney,annotation={
16144c62abc9SPaul E. McKenney	Patch for list_splice_rcu().
1615*6ae37718SPaul E. McKenney}
16164c62abc9SPaul E. McKenney}
16174c62abc9SPaul E. McKenney
16184c62abc9SPaul E. McKenney@unpublished{PaulEMcKenney2007rcubarrier
16194c62abc9SPaul E. McKenney,Author="Paul E. McKenney"
16204c62abc9SPaul E. McKenney,Title="{RCU} and Unloadable Modules"
16214c62abc9SPaul E. McKenney,month="January"
16224c62abc9SPaul E. McKenney,day="14"
16234c62abc9SPaul E. McKenney,year="2007"
16244c62abc9SPaul E. McKenney,note="Available:
16254c62abc9SPaul E. McKenney\url{http://lwn.net/Articles/217484/}
16264c62abc9SPaul E. McKenney[Viewed November 22, 2007]"
1627*6ae37718SPaul E. McKenney,annotation={
16284c62abc9SPaul E. McKenney	LWN article introducing the rcu_barrier() primitive.
1629*6ae37718SPaul E. McKenney}
16304c62abc9SPaul E. McKenney}
16314c62abc9SPaul E. McKenney
16324c62abc9SPaul E. McKenney@unpublished{PeterZijlstra2007SyncBarrier
16334c62abc9SPaul E. McKenney,Author="Peter Zijlstra and Ingo Molnar"
16344c62abc9SPaul E. McKenney,Title="{[PATCH 3/7]} barrier: a scalable synchonisation barrier"
16354c62abc9SPaul E. McKenney,month="January"
16364c62abc9SPaul E. McKenney,year="2007"
16374c62abc9SPaul E. McKenney,day=28
16384c62abc9SPaul E. McKenney,note="Available:
16394c62abc9SPaul E. McKenney\url{http://lkml.org/lkml/2007/1/28/34}
16404c62abc9SPaul E. McKenney[Viewed March 27, 2008]"
1641*6ae37718SPaul E. McKenney,annotation={
16424c62abc9SPaul E. McKenney	RCU-like implementation for frequent updaters and rare readers(!).
16434c62abc9SPaul E. McKenney	Subsumed into QRCU.  Maybe...
1644*6ae37718SPaul E. McKenney}
16454c62abc9SPaul E. McKenney}
16464c62abc9SPaul E. McKenney
16474c62abc9SPaul E. McKenney@unpublished{PaulEMcKenney2007BoostRCU
16484c62abc9SPaul E. McKenney,Author="Paul E. McKenney"
16494c62abc9SPaul E. McKenney,Title="Priority-Boosting {RCU} Read-Side Critical Sections"
16504c62abc9SPaul E. McKenney,month="February"
16514c62abc9SPaul E. McKenney,day="5"
16524c62abc9SPaul E. McKenney,year="2007"
1653*6ae37718SPaul E. McKenney,note="\url{http://lwn.net/Articles/220677/}"
1654*6ae37718SPaul E. McKenney,annotation={
16554c62abc9SPaul E. McKenney	LWN article introducing RCU priority boosting.
1656*6ae37718SPaul E. McKenney	Revised:
1657*6ae37718SPaul E. McKenney	http://www.rdrop.com/users/paulmck/RCU/RCUbooststate.2007.04.16a.pdf
1658*6ae37718SPaul E. McKenney	[Viewed September 7, 2007]
1659*6ae37718SPaul E. McKenney}
16604c62abc9SPaul E. McKenney}
16614c62abc9SPaul E. McKenney
16624c62abc9SPaul E. McKenney@unpublished{PaulMcKenney2007QRCUpatch
16634c62abc9SPaul E. McKenney,Author="Paul E. McKenney"
16644c62abc9SPaul E. McKenney,Title="{[PATCH]} {QRCU} with lockless fastpath"
16654c62abc9SPaul E. McKenney,month="February"
16664c62abc9SPaul E. McKenney,year="2007"
16674c62abc9SPaul E. McKenney,day=24
16684c62abc9SPaul E. McKenney,note="Available:
16694c62abc9SPaul E. McKenney\url{http://lkml.org/lkml/2007/2/25/18}
16704c62abc9SPaul E. McKenney[Viewed March 27, 2008]"
1671*6ae37718SPaul E. McKenney,annotation={
16724c62abc9SPaul E. McKenney	Patch for QRCU supplying lock-free fast path.
1673*6ae37718SPaul E. McKenney}
16744c62abc9SPaul E. McKenney}
16754c62abc9SPaul E. McKenney
16764c62abc9SPaul E. McKenney@article{JonathanAppavoo2007K42RCU
16774c62abc9SPaul E. McKenney,author = {Appavoo, Jonathan and Silva, Dilma Da and Krieger, Orran and Auslander, Marc and Ostrowski, Michal and Rosenburg, Bryan and Waterland, Amos and Wisniewski, Robert W. and Xenidis, Jimi and Stumm, Michael and Soares, Livio}
16784c62abc9SPaul E. McKenney,title = {Experience distributing objects in an SMMP OS}
16794c62abc9SPaul E. McKenney,journal = {ACM Trans. Comput. Syst.}
16804c62abc9SPaul E. McKenney,volume = {25}
16814c62abc9SPaul E. McKenney,number = {3}
16824c62abc9SPaul E. McKenney,year = {2007}
16834c62abc9SPaul E. McKenney,issn = {0734-2071}
16844c62abc9SPaul E. McKenney,pages = {6/1--6/52}
16854c62abc9SPaul E. McKenney,doi = {http://doi.acm.org/10.1145/1275517.1275518}
16864c62abc9SPaul E. McKenney,publisher = {ACM}
16874c62abc9SPaul E. McKenney,address = {New York, NY, USA}
16884c62abc9SPaul E. McKenney,annotation={
16894c62abc9SPaul E. McKenney	Role of RCU in K42.
1690*6ae37718SPaul E. McKenney}
1691*6ae37718SPaul E. McKenney}
16924c62abc9SPaul E. McKenney
16934c62abc9SPaul E. McKenney@conference{RobertOlsson2007Trash
16944c62abc9SPaul E. McKenney,Author="Robert Olsson and Stefan Nilsson"
16954c62abc9SPaul E. McKenney,Title="{TRASH}: A dynamic {LC}-trie and hash data structure"
16964c62abc9SPaul E. McKenney,booktitle="Workshop on High Performance Switching and Routing (HPSR'07)"
16974c62abc9SPaul E. McKenney,month="May"
16984c62abc9SPaul E. McKenney,year="2007"
16994c62abc9SPaul E. McKenney,note="Available:
17004c62abc9SPaul E. McKenney\url{http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=4281239}
17014c62abc9SPaul E. McKenney[Viewed October 1, 2010]"
1702*6ae37718SPaul E. McKenney,annotation={
17034c62abc9SPaul E. McKenney	RCU-protected dynamic trie-hash combination.
1704*6ae37718SPaul E. McKenney}
17054c62abc9SPaul E. McKenney}
17064c62abc9SPaul E. McKenney
17074c62abc9SPaul E. McKenney@conference{PeterZijlstra2007ConcurrentPagecacheRCU
17084c62abc9SPaul E. McKenney,Author="Peter Zijlstra"
17094c62abc9SPaul E. McKenney,Title="Concurrent Pagecache"
17104c62abc9SPaul E. McKenney,Booktitle="Linux Symposium"
17114c62abc9SPaul E. McKenney,month="June"
17124c62abc9SPaul E. McKenney,year="2007"
17134c62abc9SPaul E. McKenney,address="Ottawa, Canada"
17144c62abc9SPaul E. McKenney,note="Available:
17154c62abc9SPaul E. McKenney\url{http://ols.108.redhat.com/2007/Reprints/zijlstra-Reprint.pdf}
17164c62abc9SPaul E. McKenney[Viewed April 14, 2008]"
1717*6ae37718SPaul E. McKenney,annotation={
17184c62abc9SPaul E. McKenney	Page-cache modifications permitting RCU readers and concurrent
17194c62abc9SPaul E. McKenney	updates.
1720*6ae37718SPaul E. McKenney}
17214c62abc9SPaul E. McKenney}
17224c62abc9SPaul E. McKenney
17234c62abc9SPaul E. McKenney@unpublished{PaulEMcKenney2007whatisRCU
17244c62abc9SPaul E. McKenney,Author="Paul E. McKenney"
17254c62abc9SPaul E. McKenney,Title="What is {RCU}?"
17264c62abc9SPaul E. McKenney,year="2007"
17274c62abc9SPaul E. McKenney,month="07"
17284c62abc9SPaul E. McKenney,note="Available:
17294c62abc9SPaul E. McKenney\url{http://www.rdrop.com/users/paulmck/RCU/whatisRCU.html}
17304c62abc9SPaul E. McKenney[Viewed July 6, 2007]"
17314c62abc9SPaul E. McKenney,annotation={
17324c62abc9SPaul E. McKenney	Describes RCU in Linux kernel.
1733f85d6c71SPaul E. McKenney}
1734f85d6c71SPaul E. McKenney}
1735f85d6c71SPaul E. McKenney
1736f85d6c71SPaul E. McKenney@unpublished{PaulEMcKenney2007QRCUspin
1737f85d6c71SPaul E. McKenney,Author="Paul E. McKenney"
17384c62abc9SPaul E. McKenney,Title="Using {Promela} and {Spin} to verify parallel algorithms"
1739f85d6c71SPaul E. McKenney,month="August"
1740f85d6c71SPaul E. McKenney,day="1"
1741f85d6c71SPaul E. McKenney,year="2007"
1742f85d6c71SPaul E. McKenney,note="Available:
1743f85d6c71SPaul E. McKenney\url{http://lwn.net/Articles/243851/}
1744f85d6c71SPaul E. McKenney[Viewed September 8, 2007]"
1745*6ae37718SPaul E. McKenney,annotation={
1746f85d6c71SPaul E. McKenney	LWN article describing Promela and spin, and also using Oleg
1747f85d6c71SPaul E. McKenney	Nesterov's QRCU as an example (with Paul McKenney's fastpath).
17484c62abc9SPaul E. McKenney	Merged patch at: http://lkml.org/lkml/2007/2/25/18
1749*6ae37718SPaul E. McKenney}
17504c62abc9SPaul E. McKenney}
17514c62abc9SPaul E. McKenney
17524c62abc9SPaul E. McKenney@unpublished{PaulEMcKenney2007WG21DDOatomics
17534c62abc9SPaul E. McKenney,Author="Paul E. McKenney and Hans-J. Boehm and Lawrence Crowl"
17544c62abc9SPaul E. McKenney,Title="C++ Data-Dependency Ordering: Atomics and Memory Model"
17554c62abc9SPaul E. McKenney,month="August"
17564c62abc9SPaul E. McKenney,day="3"
17574c62abc9SPaul E. McKenney,year="2007"
1758*6ae37718SPaul E. McKenney,note="Available:
17594c62abc9SPaul E. McKenney\url{http://open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2664.htm}
17604c62abc9SPaul E. McKenney[Viewed December 7, 2009]"
1761*6ae37718SPaul E. McKenney,annotation={
17624c62abc9SPaul E. McKenney	RCU for C++, parts 1 and 2.
1763*6ae37718SPaul E. McKenney}
17644c62abc9SPaul E. McKenney}
17654c62abc9SPaul E. McKenney
17664c62abc9SPaul E. McKenney@unpublished{PaulEMcKenney2007WG21DDOannotation
17674c62abc9SPaul E. McKenney,Author="Paul E. McKenney and Lawrence Crowl"
17684c62abc9SPaul E. McKenney,Title="C++ Data-Dependency Ordering: Function Annotation"
17694c62abc9SPaul E. McKenney,month="September"
17704c62abc9SPaul E. McKenney,day="18"
17714c62abc9SPaul E. McKenney,year="2008"
1772*6ae37718SPaul E. McKenney,note="Available:
17734c62abc9SPaul E. McKenney\url{http://open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2782.htm}
17744c62abc9SPaul E. McKenney[Viewed December 7, 2009]"
1775*6ae37718SPaul E. McKenney,annotation={
17764c62abc9SPaul E. McKenney	RCU for C++, part 2, updated many times.
1777*6ae37718SPaul E. McKenney}
17784c62abc9SPaul E. McKenney}
17794c62abc9SPaul E. McKenney
17804c62abc9SPaul E. McKenney@unpublished{PaulEMcKenney2007PreemptibleRCUPatch
17814c62abc9SPaul E. McKenney,Author="Paul E. McKenney"
17824c62abc9SPaul E. McKenney,Title="[PATCH RFC 0/9] {RCU}: Preemptible {RCU}"
17834c62abc9SPaul E. McKenney,month="September"
17844c62abc9SPaul E. McKenney,day="10"
17854c62abc9SPaul E. McKenney,year="2007"
17864c62abc9SPaul E. McKenney,note="Available:
17874c62abc9SPaul E. McKenney\url{http://lkml.org/lkml/2007/9/10/213}
17884c62abc9SPaul E. McKenney[Viewed October 25, 2007]"
1789*6ae37718SPaul E. McKenney,annotation={
17904c62abc9SPaul E. McKenney	Final patch for preemptable RCU to -rt.  (Later patches were
17914c62abc9SPaul E. McKenney	to mainline, eventually incorporated.)
1792*6ae37718SPaul E. McKenney}
1793f85d6c71SPaul E. McKenney}
1794f85d6c71SPaul E. McKenney
179532300751SPaul E. McKenney@unpublished{PaulEMcKenney2007PreemptibleRCU
179632300751SPaul E. McKenney,Author="Paul E. McKenney"
179732300751SPaul E. McKenney,Title="The design of preemptible read-copy-update"
179832300751SPaul E. McKenney,month="October"
179932300751SPaul E. McKenney,day="8"
180032300751SPaul E. McKenney,year="2007"
180132300751SPaul E. McKenney,note="Available:
180232300751SPaul E. McKenney\url{http://lwn.net/Articles/253651/}
180332300751SPaul E. McKenney[Viewed October 25, 2007]"
1804*6ae37718SPaul E. McKenney,annotation={
180532300751SPaul E. McKenney	LWN article describing the design of preemptible RCU.
1806*6ae37718SPaul E. McKenney}
180732300751SPaul E. McKenney}
180832300751SPaul E. McKenney
18094c62abc9SPaul E. McKenney@article{ThomasEHart2007a
18104c62abc9SPaul E. McKenney,Author="Thomas E. Hart and Paul E. McKenney and Angela Demke Brown and Jonathan Walpole"
18114c62abc9SPaul E. McKenney,Title="Performance of memory reclamation for lockless synchronization"
18124c62abc9SPaul E. McKenney,journal="J. Parallel Distrib. Comput."
18134c62abc9SPaul E. McKenney,volume={67}
18144c62abc9SPaul E. McKenney,number="12"
18154c62abc9SPaul E. McKenney,year="2007"
18164c62abc9SPaul E. McKenney,issn="0743-7315"
18174c62abc9SPaul E. McKenney,pages="1270--1285"
18184c62abc9SPaul E. McKenney,doi="http://dx.doi.org/10.1016/j.jpdc.2007.04.010"
18194c62abc9SPaul E. McKenney,publisher="Academic Press, Inc."
18204c62abc9SPaul E. McKenney,address="Orlando, FL, USA"
18214c62abc9SPaul E. McKenney,annotation={
18224c62abc9SPaul E. McKenney	Compares QSBR, HPBR, EBR, and lock-free reference counting.
18234c62abc9SPaul E. McKenney	Journal version of ThomasEHart2006a.
18244c62abc9SPaul E. McKenney}
18254c62abc9SPaul E. McKenney}
18264c62abc9SPaul E. McKenney
1827*6ae37718SPaul E. McKenney# MathieuDesnoyers2007call_rcu_schedNeeded
18284c62abc9SPaul E. McKenney@unpublished{MathieuDesnoyers2007call:rcu:schedNeeded
18294c62abc9SPaul E. McKenney,Author="Mathieu Desnoyers"
18304c62abc9SPaul E. McKenney,Title="Re: [patch 1/2] {Linux} Kernel Markers - Support Multiple Probes"
18314c62abc9SPaul E. McKenney,month="December"
18324c62abc9SPaul E. McKenney,day="20"
18334c62abc9SPaul E. McKenney,year="2007"
18344c62abc9SPaul E. McKenney,note="Available:
18354c62abc9SPaul E. McKenney\url{http://lkml.org/lkml/2007/12/20/244}
18364c62abc9SPaul E. McKenney[Viewed March 27, 2008]"
1837*6ae37718SPaul E. McKenney,annotation={
18384c62abc9SPaul E. McKenney	Request for call_rcu_sched() and rcu_barrier_sched().
1839*6ae37718SPaul E. McKenney}
18404c62abc9SPaul E. McKenney}
18414c62abc9SPaul E. McKenney
18424c62abc9SPaul E. McKenney
184332300751SPaul E. McKenney########################################################################
184432300751SPaul E. McKenney#
184532300751SPaul E. McKenney#	"What is RCU?" LWN series.
184632300751SPaul E. McKenney#
18474c62abc9SPaul E. McKenney#	http://lwn.net/Articles/262464/ (What is RCU, Fundamentally?)
18484c62abc9SPaul E. McKenney#	http://lwn.net/Articles/263130/ (What is RCU's Usage?)
18494c62abc9SPaul E. McKenney#	http://lwn.net/Articles/264090/ (What is RCU's API?)
185032300751SPaul E. McKenney
185132300751SPaul E. McKenney@unpublished{PaulEMcKenney2007WhatIsRCUFundamentally
185232300751SPaul E. McKenney,Author="Paul E. McKenney and Jonathan Walpole"
185332300751SPaul E. McKenney,Title="What is {RCU}, Fundamentally?"
185432300751SPaul E. McKenney,month="December"
185532300751SPaul E. McKenney,day="17"
185632300751SPaul E. McKenney,year="2007"
185732300751SPaul E. McKenney,note="Available:
185832300751SPaul E. McKenney\url{http://lwn.net/Articles/262464/}
185932300751SPaul E. McKenney[Viewed December 27, 2007]"
1860*6ae37718SPaul E. McKenney,annotation={
186132300751SPaul E. McKenney	Lays out the three basic components of RCU: (1) publish-subscribe,
186232300751SPaul E. McKenney	(2) wait for pre-existing readers to complete, and (2) maintain
186332300751SPaul E. McKenney	multiple versions.
1864*6ae37718SPaul E. McKenney}
186532300751SPaul E. McKenney}
186632300751SPaul E. McKenney
186732300751SPaul E. McKenney@unpublished{PaulEMcKenney2008WhatIsRCUUsage
186832300751SPaul E. McKenney,Author="Paul E. McKenney"
186932300751SPaul E. McKenney,Title="What is {RCU}? Part 2: Usage"
187032300751SPaul E. McKenney,month="January"
187132300751SPaul E. McKenney,day="4"
187232300751SPaul E. McKenney,year="2008"
187332300751SPaul E. McKenney,note="Available:
187432300751SPaul E. McKenney\url{http://lwn.net/Articles/263130/}
187532300751SPaul E. McKenney[Viewed January 4, 2008]"
1876*6ae37718SPaul E. McKenney,annotation={
187732300751SPaul E. McKenney	Lays out six uses of RCU:
187832300751SPaul E. McKenney	1. RCU is a Reader-Writer Lock Replacement
187932300751SPaul E. McKenney	2. RCU is a Restricted Reference-Counting Mechanism
188032300751SPaul E. McKenney	3. RCU is a Bulk Reference-Counting Mechanism
188132300751SPaul E. McKenney	4. RCU is a Poor Man's Garbage Collector
188232300751SPaul E. McKenney	5. RCU is a Way of Providing Existence Guarantees
188332300751SPaul E. McKenney	6. RCU is a Way of Waiting for Things to Finish
1884*6ae37718SPaul E. McKenney}
188532300751SPaul E. McKenney}
188632300751SPaul E. McKenney
188732300751SPaul E. McKenney@unpublished{PaulEMcKenney2008WhatIsRCUAPI
188832300751SPaul E. McKenney,Author="Paul E. McKenney"
188932300751SPaul E. McKenney,Title="{RCU} part 3: the {RCU} {API}"
189032300751SPaul E. McKenney,month="January"
189132300751SPaul E. McKenney,day="17"
189232300751SPaul E. McKenney,year="2008"
189332300751SPaul E. McKenney,note="Available:
189432300751SPaul E. McKenney\url{http://lwn.net/Articles/264090/}
189532300751SPaul E. McKenney[Viewed January 10, 2008]"
1896*6ae37718SPaul E. McKenney,annotation={
189732300751SPaul E. McKenney	Gives an overview of the Linux-kernel RCU API and a brief annotated RCU
189832300751SPaul E. McKenney	bibliography.
1899*6ae37718SPaul E. McKenney}
190032300751SPaul E. McKenney}
190132300751SPaul E. McKenney
19024c54005cSPaul E. McKenney#
19034c54005cSPaul E. McKenney#	"What is RCU?" LWN series.
19044c54005cSPaul E. McKenney#
19054c54005cSPaul E. McKenney########################################################################
19064c54005cSPaul E. McKenney
19074c62abc9SPaul E. McKenney
19084c62abc9SPaul E. McKenney@unpublished{SteveRostedt2008dyntickRCUpatch
19094c62abc9SPaul E. McKenney,Author="Steven Rostedt and Paul E. McKenney"
19104c62abc9SPaul E. McKenney,Title="{[PATCH]} add support for dynamic ticks and preempt rcu"
19114c62abc9SPaul E. McKenney,month="January"
19124c62abc9SPaul E. McKenney,day="29"
19134c62abc9SPaul E. McKenney,year="2008"
19144c62abc9SPaul E. McKenney,note="Available:
19154c62abc9SPaul E. McKenney\url{http://lkml.org/lkml/2008/1/29/208}
19164c62abc9SPaul E. McKenney[Viewed March 27, 2008]"
1917*6ae37718SPaul E. McKenney,annotation={
19184c62abc9SPaul E. McKenney	Patch that prevents preemptible RCU from unnecessarily waking
19194c62abc9SPaul E. McKenney	up dynticks-idle CPUs.
1920*6ae37718SPaul E. McKenney}
19214c62abc9SPaul E. McKenney}
19224c62abc9SPaul E. McKenney
19234c62abc9SPaul E. McKenney@unpublished{PaulEMcKenney2008LKMLDependencyOrdering
19244c62abc9SPaul E. McKenney,Author="Paul E. McKenney"
19254c62abc9SPaul E. McKenney,Title="Re: [PATCH 02/22 -v7] Add basic support for gcc profiler instrumentation"
19264c62abc9SPaul E. McKenney,month="February"
19274c62abc9SPaul E. McKenney,day="1"
19284c62abc9SPaul E. McKenney,year="2008"
19294c62abc9SPaul E. McKenney,note="Available:
19304c62abc9SPaul E. McKenney\url{http://lkml.org/lkml/2008/2/2/255}
19314c62abc9SPaul E. McKenney[Viewed October 18, 2008]"
1932*6ae37718SPaul E. McKenney,annotation={
19334c62abc9SPaul E. McKenney	Explanation of compilers violating dependency ordering.
1934*6ae37718SPaul E. McKenney}
19354c62abc9SPaul E. McKenney}
19364c62abc9SPaul E. McKenney
19374c62abc9SPaul E. McKenney@Conference{PaulEMcKenney2008Beijing
19384c62abc9SPaul E. McKenney,Author="Paul E. McKenney"
19394c62abc9SPaul E. McKenney,Title="Introducing Technology Into {Linux} Or:
19404c62abc9SPaul E. McKenneyIntroducing your technology Into {Linux} will require introducing a
19414c62abc9SPaul E. McKenneylot of {Linux} into your technology!!!"
19424c62abc9SPaul E. McKenney,Booktitle="2008 Linux Developer Symposium - China"
19434c62abc9SPaul E. McKenney,Publisher="OSS China"
19444c62abc9SPaul E. McKenney,Month="February"
19454c62abc9SPaul E. McKenney,Year="2008"
19464c62abc9SPaul E. McKenney,Address="Beijing, China"
19474c62abc9SPaul E. McKenney,note="Available:
19484c62abc9SPaul E. McKenney\url{http://www.rdrop.com/users/paulmck/RCU/TechIntroLinux.2008.02.19a.pdf}
19494c62abc9SPaul E. McKenney[Viewed August 12, 2008]"
19504c62abc9SPaul E. McKenney}
19514c62abc9SPaul E. McKenney
19524c62abc9SPaul E. McKenney@unpublished{PaulEMcKenney2008dynticksRCU
19534c62abc9SPaul E. McKenney,Author="Paul E. McKenney and Steven Rostedt"
19544c62abc9SPaul E. McKenney,Title="Integrating and Validating dynticks and Preemptable RCU"
19554c62abc9SPaul E. McKenney,month="April"
19564c62abc9SPaul E. McKenney,day="24"
19574c62abc9SPaul E. McKenney,year="2008"
19584c62abc9SPaul E. McKenney,note="Available:
19594c62abc9SPaul E. McKenney\url{http://lwn.net/Articles/279077/}
19604c62abc9SPaul E. McKenney[Viewed April 24, 2008]"
1961*6ae37718SPaul E. McKenney,annotation={
19624c62abc9SPaul E. McKenney	Describes use of Promela and Spin to validate (and fix!) the
19634c62abc9SPaul E. McKenney	dynticks/RCU interface.
1964*6ae37718SPaul E. McKenney}
19654c62abc9SPaul E. McKenney}
19664c62abc9SPaul E. McKenney
196732300751SPaul E. McKenney@article{DinakarGuniguntala2008IBMSysJ
196832300751SPaul E. McKenney,author="D. Guniguntala and P. E. McKenney and J. Triplett and J. Walpole"
196932300751SPaul E. McKenney,title="The read-copy-update mechanism for supporting real-time applications on shared-memory multiprocessor systems with {Linux}"
197032300751SPaul E. McKenney,Year="2008"
1971*6ae37718SPaul E. McKenney,Month="May"
197232300751SPaul E. McKenney,journal="IBM Systems Journal"
197332300751SPaul E. McKenney,volume="47"
197432300751SPaul E. McKenney,number="2"
19754c62abc9SPaul E. McKenney,pages="221-236"
1976*6ae37718SPaul E. McKenney,annotation={
197732300751SPaul E. McKenney	RCU, realtime RCU, sleepable RCU, performance.
1978*6ae37718SPaul E. McKenney	http://www.research.ibm.com/journal/sj/472/guniguntala.pdf
1979*6ae37718SPaul E. McKenney	[Viewed April 24, 2008]
1980*6ae37718SPaul E. McKenney}
198132300751SPaul E. McKenney}
1982240ebbf8SPaul E. McKenney
19834c62abc9SPaul E. McKenney@unpublished{LaiJiangshan2008NewClassicAlgorithm
19844c62abc9SPaul E. McKenney,Author="Lai Jiangshan"
19854c62abc9SPaul E. McKenney,Title="[{RFC}][{PATCH}] rcu classic: new algorithm for callbacks-processing"
19864c62abc9SPaul E. McKenney,month="June"
19874c62abc9SPaul E. McKenney,day="3"
19884c62abc9SPaul E. McKenney,year="2008"
19894c62abc9SPaul E. McKenney,note="Available:
19904c62abc9SPaul E. McKenney\url{http://lkml.org/lkml/2008/6/2/539}
19914c62abc9SPaul E. McKenney[Viewed December 10, 2008]"
1992*6ae37718SPaul E. McKenney,annotation={
19934c62abc9SPaul E. McKenney	Updated RCU classic algorithm.  Introduced multi-tailed list
19944c62abc9SPaul E. McKenney	for RCU callbacks and also pulling common code into
19954c62abc9SPaul E. McKenney	__call_rcu().
1996*6ae37718SPaul E. McKenney}
19974c62abc9SPaul E. McKenney}
19984c62abc9SPaul E. McKenney
1999240ebbf8SPaul E. McKenney@article{PaulEMcKenney2008RCUOSR
2000240ebbf8SPaul E. McKenney,author="Paul E. McKenney and Jonathan Walpole"
2001240ebbf8SPaul E. McKenney,title="Introducing technology into the {Linux} kernel: a case study"
2002240ebbf8SPaul E. McKenney,Year="2008"
2003240ebbf8SPaul E. McKenney,journal="SIGOPS Oper. Syst. Rev."
2004240ebbf8SPaul E. McKenney,volume="42"
2005240ebbf8SPaul E. McKenney,number="5"
2006240ebbf8SPaul E. McKenney,pages="4--17"
2007240ebbf8SPaul E. McKenney,issn="0163-5980"
2008240ebbf8SPaul E. McKenney,doi={http://doi.acm.org/10.1145/1400097.1400099}
2009240ebbf8SPaul E. McKenney,publisher="ACM"
2010240ebbf8SPaul E. McKenney,address="New York, NY, USA"
2011240ebbf8SPaul E. McKenney,annotation={
2012240ebbf8SPaul E. McKenney	Linux changed RCU to a far greater degree than RCU has changed Linux.
2013*6ae37718SPaul E. McKenney	http://portal.acm.org/citation.cfm?doid=1400097.1400099
2014240ebbf8SPaul E. McKenney}
2015240ebbf8SPaul E. McKenney}
2016240ebbf8SPaul E. McKenney
20174c62abc9SPaul E. McKenney@unpublished{ManfredSpraul2008StateMachineRCU
20184c62abc9SPaul E. McKenney,Author="Manfred Spraul"
20194c62abc9SPaul E. McKenney,Title="[{RFC}, {PATCH}] state machine based rcu"
20204c62abc9SPaul E. McKenney,month="August"
20214c62abc9SPaul E. McKenney,day="21"
20224c62abc9SPaul E. McKenney,year="2008"
20234c62abc9SPaul E. McKenney,note="Available:
20244c62abc9SPaul E. McKenney\url{http://lkml.org/lkml/2008/8/21/336}
20254c62abc9SPaul E. McKenney[Viewed December 8, 2008]"
2026*6ae37718SPaul E. McKenney,annotation={
20274c62abc9SPaul E. McKenney	State-based RCU.  One key thing that this patch does is to
20284c62abc9SPaul E. McKenney	separate the dynticks handling of NMIs and IRQs.
2029*6ae37718SPaul E. McKenney}
20304c62abc9SPaul E. McKenney}
20314c62abc9SPaul E. McKenney
20324c62abc9SPaul E. McKenney@unpublished{ManfredSpraul2008dyntickIRQNMI
20334c62abc9SPaul E. McKenney,Author="Manfred Spraul"
20344c62abc9SPaul E. McKenney,Title="Re: [{RFC}, {PATCH}] v4 scalable classic {RCU} implementation"
20354c62abc9SPaul E. McKenney,month="September"
20364c62abc9SPaul E. McKenney,day="6"
20374c62abc9SPaul E. McKenney,year="2008"
20384c62abc9SPaul E. McKenney,note="Available:
20394c62abc9SPaul E. McKenney\url{http://lkml.org/lkml/2008/9/6/86}
20404c62abc9SPaul E. McKenney[Viewed December 8, 2008]"
2041*6ae37718SPaul E. McKenney,annotation={
20424c62abc9SPaul E. McKenney	Manfred notes a fix required to my attempt to separate irq
20434c62abc9SPaul E. McKenney	and NMI processing for hierarchical RCU's dynticks interface.
2044*6ae37718SPaul E. McKenney}
20454c62abc9SPaul E. McKenney}
20464c62abc9SPaul E. McKenney
2047*6ae37718SPaul E. McKenney# Was PaulEMcKenney2011cyclicRCU
20484c62abc9SPaul E. McKenney@techreport{PaulEMcKenney2008cyclicRCU
20494c62abc9SPaul E. McKenney,author="Paul E. McKenney"
20504c62abc9SPaul E. McKenney,title="Efficient Support of Consistent Cyclic Search With Read-Copy Update"
20514c62abc9SPaul E. McKenney,institution="US Patent and Trademark Office"
20524c62abc9SPaul E. McKenney,address="Washington, DC"
20534c62abc9SPaul E. McKenney,year="2008"
20544c62abc9SPaul E. McKenney,number="US Patent 7,426,511"
20554c62abc9SPaul E. McKenney,month="September"
20564c62abc9SPaul E. McKenney,pages="23"
2057*6ae37718SPaul E. McKenney,annotation={
20584c62abc9SPaul E. McKenney	Maintains an additional level of indirection to allow
20594c62abc9SPaul E. McKenney	readers to confine themselves to the desired snapshot of the
20604c62abc9SPaul E. McKenney	data structure.  Only permits one update at a time.
2061*6ae37718SPaul E. McKenney}
20624c62abc9SPaul E. McKenney}
20634c62abc9SPaul E. McKenney
2064240ebbf8SPaul E. McKenney@unpublished{PaulEMcKenney2008HierarchicalRCU
2065240ebbf8SPaul E. McKenney,Author="Paul E. McKenney"
2066240ebbf8SPaul E. McKenney,Title="Hierarchical {RCU}"
2067240ebbf8SPaul E. McKenney,month="November"
2068240ebbf8SPaul E. McKenney,day="3"
2069240ebbf8SPaul E. McKenney,year="2008"
2070*6ae37718SPaul E. McKenney,note="\url{http://lwn.net/Articles/305782/}"
2071*6ae37718SPaul E. McKenney,annotation={
2072240ebbf8SPaul E. McKenney	RCU with combining-tree-based grace-period detection,
2073240ebbf8SPaul E. McKenney	permitting it to handle thousands of CPUs.
2074*6ae37718SPaul E. McKenney	[Viewed November 6, 2008]
2075*6ae37718SPaul E. McKenney}
2076240ebbf8SPaul E. McKenney}
2077240ebbf8SPaul E. McKenney
20784c62abc9SPaul E. McKenney@unpublished{PaulEMcKenney2009BloatwatchRCU
20794c62abc9SPaul E. McKenney,Author="Paul E. McKenney"
20804c62abc9SPaul E. McKenney,Title="Re: [PATCH fyi] RCU: the bloatwatch edition"
20814c62abc9SPaul E. McKenney,month="January"
20824c62abc9SPaul E. McKenney,day="14"
20834c62abc9SPaul E. McKenney,year="2009"
20844c62abc9SPaul E. McKenney,note="Available:
20854c62abc9SPaul E. McKenney\url{http://lkml.org/lkml/2009/1/14/449}
20864c62abc9SPaul E. McKenney[Viewed January 15, 2009]"
2087*6ae37718SPaul E. McKenney,annotation={
20884c62abc9SPaul E. McKenney	Small-footprint implementation of RCU for uniprocessor
20894c62abc9SPaul E. McKenney	embedded applications -- and also for exposition purposes.
2090*6ae37718SPaul E. McKenney}
20914c62abc9SPaul E. McKenney}
20924c62abc9SPaul E. McKenney
2093240ebbf8SPaul E. McKenney@conference{PaulEMcKenney2009MaliciousURCU
2094240ebbf8SPaul E. McKenney,Author="Paul E. McKenney"
2095240ebbf8SPaul E. McKenney,Title="Using a Malicious User-Level {RCU} to Torture {RCU}-Based Algorithms"
2096240ebbf8SPaul E. McKenney,Booktitle="linux.conf.au 2009"
2097240ebbf8SPaul E. McKenney,month="January"
2098240ebbf8SPaul E. McKenney,year="2009"
2099240ebbf8SPaul E. McKenney,address="Hobart, Australia"
2100240ebbf8SPaul E. McKenney,note="Available:
2101240ebbf8SPaul E. McKenney\url{http://www.rdrop.com/users/paulmck/RCU/urcutorture.2009.01.22a.pdf}
2102240ebbf8SPaul E. McKenney[Viewed February 2, 2009]"
2103*6ae37718SPaul E. McKenney,annotation={
2104240ebbf8SPaul E. McKenney	Realtime RCU and torture-testing RCU uses.
2105*6ae37718SPaul E. McKenney}
2106240ebbf8SPaul E. McKenney}
2107240ebbf8SPaul E. McKenney
2108240ebbf8SPaul E. McKenney@unpublished{MathieuDesnoyers2009URCU
2109240ebbf8SPaul E. McKenney,Author="Mathieu Desnoyers"
2110240ebbf8SPaul E. McKenney,Title="[{RFC} git tree] Userspace {RCU} (urcu) for {Linux}"
2111240ebbf8SPaul E. McKenney,month="February"
2112240ebbf8SPaul E. McKenney,day="5"
2113240ebbf8SPaul E. McKenney,year="2009"
2114*6ae37718SPaul E. McKenney,note="\url{http://lttng.org/urcu}"
2115*6ae37718SPaul E. McKenney,annotation={
2116240ebbf8SPaul E. McKenney	Mathieu Desnoyers's user-space RCU implementation.
2117240ebbf8SPaul E. McKenney	git://lttng.org/userspace-rcu.git
21184c62abc9SPaul E. McKenney	http://lttng.org/cgi-bin/gitweb.cgi?p=userspace-rcu.git
21194c62abc9SPaul E. McKenney	http://lttng.org/urcu
2120*6ae37718SPaul E. McKenney	http://lkml.org/lkml/2009/2/5/572
2121*6ae37718SPaul E. McKenney}
2122240ebbf8SPaul E. McKenney}
2123240ebbf8SPaul E. McKenney
21244c62abc9SPaul E. McKenney@unpublished{PaulEMcKenney2009LWNBloatWatchRCU
2125240ebbf8SPaul E. McKenney,Author="Paul E. McKenney"
2126240ebbf8SPaul E. McKenney,Title="{RCU}: The {Bloatwatch} Edition"
2127240ebbf8SPaul E. McKenney,month="March"
2128240ebbf8SPaul E. McKenney,day="17"
2129240ebbf8SPaul E. McKenney,year="2009"
2130240ebbf8SPaul E. McKenney,note="Available:
2131240ebbf8SPaul E. McKenney\url{http://lwn.net/Articles/323929/}
2132240ebbf8SPaul E. McKenney[Viewed March 20, 2009]"
2133*6ae37718SPaul E. McKenney,annotation={
2134240ebbf8SPaul E. McKenney	Uniprocessor assumptions allow simplified RCU implementation.
2135*6ae37718SPaul E. McKenney}
2136*6ae37718SPaul E. McKenney}
2137*6ae37718SPaul E. McKenney
2138*6ae37718SPaul E. McKenney@unpublished{EvgeniyPolyakov2009EllipticsNetwork
2139*6ae37718SPaul E. McKenney,Author="Evgeniy Polyakov"
2140*6ae37718SPaul E. McKenney,Title="The Elliptics Network"
2141*6ae37718SPaul E. McKenney,month="April"
2142*6ae37718SPaul E. McKenney,day="17"
2143*6ae37718SPaul E. McKenney,year="2009"
2144*6ae37718SPaul E. McKenney,note="Available:
2145*6ae37718SPaul E. McKenney\url{http://www.ioremap.net/projects/elliptics}
2146*6ae37718SPaul E. McKenney[Viewed April 30, 2009]"
2147*6ae37718SPaul E. McKenney,annotation={
2148*6ae37718SPaul E. McKenney	Distributed hash table with transactions, using elliptic
2149*6ae37718SPaul E. McKenney	hash functions to distribute data.
2150*6ae37718SPaul E. McKenney}
2151240ebbf8SPaul E. McKenney}
21524c54005cSPaul E. McKenney
21534c54005cSPaul E. McKenney@unpublished{PaulEMcKenney2009expeditedRCU
21544c54005cSPaul E. McKenney,Author="Paul E. McKenney"
21554c54005cSPaul E. McKenney,Title="[{PATCH} -tip 0/3] expedited 'big hammer' {RCU} grace periods"
21564c54005cSPaul E. McKenney,month="June"
21574c54005cSPaul E. McKenney,day="25"
21584c54005cSPaul E. McKenney,year="2009"
21594c54005cSPaul E. McKenney,note="Available:
21604c54005cSPaul E. McKenney\url{http://lkml.org/lkml/2009/6/25/306}
21614c54005cSPaul E. McKenney[Viewed August 16, 2009]"
2162*6ae37718SPaul E. McKenney,annotation={
21634c54005cSPaul E. McKenney	First posting of expedited RCU to be accepted into -tip.
2164*6ae37718SPaul E. McKenney}
21654c54005cSPaul E. McKenney}
21664c54005cSPaul E. McKenney
21674c62abc9SPaul E. McKenney@unpublished{PaulEMcKenney2009fastRTRCU
21684c62abc9SPaul E. McKenney,Author="Paul E. McKenney"
21694c62abc9SPaul E. McKenney,Title="[{PATCH} {RFC} -tip 0/4] {RCU} cleanups and simplified preemptable {RCU}"
21704c62abc9SPaul E. McKenney,month="July"
21714c62abc9SPaul E. McKenney,day="23"
21724c62abc9SPaul E. McKenney,year="2009"
21734c62abc9SPaul E. McKenney,note="Available:
21744c62abc9SPaul E. McKenney\url{http://lkml.org/lkml/2009/7/23/294}
21754c62abc9SPaul E. McKenney[Viewed August 15, 2009]"
2176*6ae37718SPaul E. McKenney,annotation={
21774c62abc9SPaul E. McKenney	First posting of simple and fast preemptable RCU.
2178*6ae37718SPaul E. McKenney}
21794c62abc9SPaul E. McKenney}
21804c62abc9SPaul E. McKenney
2181*6ae37718SPaul E. McKenney@unpublished{JoshTriplett2009RPHash
21824c54005cSPaul E. McKenney,Author="Josh Triplett"
21834c54005cSPaul E. McKenney,Title="Scalable concurrent hash tables via relativistic programming"
21844c54005cSPaul E. McKenney,month="September"
21854c54005cSPaul E. McKenney,year="2009"
2186*6ae37718SPaul E. McKenney,note="Linux Plumbers Conference presentation"
2187*6ae37718SPaul E. McKenney,annotation={
21884c54005cSPaul E. McKenney	RP fun with hash tables.
2189*6ae37718SPaul E. McKenney	Superseded by JoshTriplett2010RPHash
2190*6ae37718SPaul E. McKenney}
21914c54005cSPaul E. McKenney}
21924c54005cSPaul E. McKenney
21934c54005cSPaul E. McKenney@phdthesis{MathieuDesnoyersPhD
2194998f2ac3SPaul E. McKenney, title  = "Low-Impact Operating System Tracing"
21954c54005cSPaul E. McKenney, author = "Mathieu Desnoyers"
21964c54005cSPaul E. McKenney, school = "Ecole Polytechnique de Montr\'{e}al"
21974c54005cSPaul E. McKenney, month  = "December"
21984c54005cSPaul E. McKenney, year   = 2009
2199998f2ac3SPaul E. McKenney,note="Available:
22001bd22e37SPaul E. McKenney\url{http://www.lttng.org/pub/thesis/desnoyers-dissertation-2009-12.pdf}
2201998f2ac3SPaul E. McKenney[Viewed December 9, 2009]"
22024c62abc9SPaul E. McKenney,annotation={
22034c62abc9SPaul E. McKenney	Chapter 6 (page 97) covers user-level RCU.
22044c62abc9SPaul E. McKenney}
22054c62abc9SPaul E. McKenney}
22064c62abc9SPaul E. McKenney
22074c62abc9SPaul E. McKenney@unpublished{RelativisticProgrammingWiki
22084c62abc9SPaul E. McKenney,Author="Josh Triplett and Paul E. McKenney and Jonathan Walpole"
22094c62abc9SPaul E. McKenney,Title="Relativistic Programming"
22104c62abc9SPaul E. McKenney,month="September"
22114c62abc9SPaul E. McKenney,year="2009"
22124c62abc9SPaul E. McKenney,note="Available:
22134c62abc9SPaul E. McKenney\url{http://wiki.cs.pdx.edu/rp/}
22144c62abc9SPaul E. McKenney[Viewed December 9, 2009]"
2215*6ae37718SPaul E. McKenney,annotation={
22164c62abc9SPaul E. McKenney	Main Relativistic Programming Wiki.
2217*6ae37718SPaul E. McKenney}
22184c62abc9SPaul E. McKenney}
22194c62abc9SPaul E. McKenney
22204c62abc9SPaul E. McKenney@conference{PaulEMcKenney2009DeterministicRCU
22214c62abc9SPaul E. McKenney,Author="Paul E. McKenney"
22224c62abc9SPaul E. McKenney,Title="Deterministic Synchronization in Multicore Systems: the Role of {RCU}"
22234c62abc9SPaul E. McKenney,Booktitle="Eleventh Real Time Linux Workshop"
22244c62abc9SPaul E. McKenney,month="September"
22254c62abc9SPaul E. McKenney,year="2009"
22264c62abc9SPaul E. McKenney,address="Dresden, Germany"
22274c62abc9SPaul E. McKenney,note="Available:
22284c62abc9SPaul E. McKenney\url{http://www.rdrop.com/users/paulmck/realtime/paper/DetSyncRCU.2009.08.18a.pdf}
22294c62abc9SPaul E. McKenney[Viewed January 14, 2009]"
22304c62abc9SPaul E. McKenney}
22314c62abc9SPaul E. McKenney
22324c62abc9SPaul E. McKenney@unpublished{PaulEMcKenney2009HuntingHeisenbugs
22334c62abc9SPaul E. McKenney,Author="Paul E. McKenney"
22344c62abc9SPaul E. McKenney,Title="Hunting Heisenbugs"
22354c62abc9SPaul E. McKenney,month="November"
22364c62abc9SPaul E. McKenney,year="2009"
22374c62abc9SPaul E. McKenney,day="1"
22384c62abc9SPaul E. McKenney,note="Available:
22394c62abc9SPaul E. McKenney\url{http://paulmck.livejournal.com/14639.html}
22404c62abc9SPaul E. McKenney[Viewed June 4, 2010]"
2241*6ae37718SPaul E. McKenney,annotation={
22424c62abc9SPaul E. McKenney	Day-one bug in Tree RCU that took forever to track down.
2243*6ae37718SPaul E. McKenney}
22444c62abc9SPaul E. McKenney}
22454c62abc9SPaul E. McKenney
22464c62abc9SPaul E. McKenney@unpublished{MathieuDesnoyers2009defer:rcu
22474c62abc9SPaul E. McKenney,Author="Mathieu Desnoyers"
22484c62abc9SPaul E. McKenney,Title="Kernel RCU: shrink the size of the struct rcu\_head"
22494c62abc9SPaul E. McKenney,month="December"
22504c62abc9SPaul E. McKenney,year="2009"
22514c62abc9SPaul E. McKenney,note="Available:
22524c62abc9SPaul E. McKenney\url{http://lkml.org/lkml/2009/10/18/129}
22534c62abc9SPaul E. McKenney[Viewed December 29, 2009]"
2254*6ae37718SPaul E. McKenney,annotation={
22554c62abc9SPaul E. McKenney	Mathieu proposed defer_rcu() with fixed-size per-thread pool
22564c62abc9SPaul E. McKenney	of RCU callbacks.
2257*6ae37718SPaul E. McKenney}
22584c62abc9SPaul E. McKenney}
22594c62abc9SPaul E. McKenney
22604c62abc9SPaul E. McKenney@unpublished{MathieuDesnoyers2009VerifPrePub
22614c62abc9SPaul E. McKenney,Author="Mathieu Desnoyers and Paul E. McKenney and Michel R. Dagenais"
22624c62abc9SPaul E. McKenney,Title="Multi-Core Systems Modeling for Formal Verification of Parallel Algorithms"
22634c62abc9SPaul E. McKenney,month="December"
22644c62abc9SPaul E. McKenney,year="2009"
22654c62abc9SPaul E. McKenney,note="Submitted to IEEE TPDS"
2266*6ae37718SPaul E. McKenney,annotation={
22674c62abc9SPaul E. McKenney	OOMem model for Mathieu's user-level RCU mechanical proof of
22684c62abc9SPaul E. McKenney	correctness.
2269*6ae37718SPaul E. McKenney}
22704c62abc9SPaul E. McKenney}
22714c62abc9SPaul E. McKenney
22724c62abc9SPaul E. McKenney@unpublished{MathieuDesnoyers2009URCUPrePub
22734c62abc9SPaul E. McKenney,Author="Mathieu Desnoyers and Paul E. McKenney and Alan Stern and Michel R. Dagenais and Jonathan Walpole"
22744c62abc9SPaul E. McKenney,Title="User-Level Implementations of Read-Copy Update"
22754c62abc9SPaul E. McKenney,month="December"
22764c62abc9SPaul E. McKenney,year="2010"
2277*6ae37718SPaul E. McKenney,url={\url{http://www.computer.org/csdl/trans/td/2012/02/ttd2012020375-abs.html}}
2278*6ae37718SPaul E. McKenney,annotation={
22794c62abc9SPaul E. McKenney	RCU overview, desiderata, semi-formal semantics, user-level RCU
22804c62abc9SPaul E. McKenney	usage scenarios, three classes of RCU implementation, wait-free
22814c62abc9SPaul E. McKenney	RCU updates, RCU grace-period batching, update overhead,
22824c62abc9SPaul E. McKenney	http://www.rdrop.com/users/paulmck/RCU/urcu-main-accepted.2011.08.30a.pdf
22834c62abc9SPaul E. McKenney	http://www.rdrop.com/users/paulmck/RCU/urcu-supp-accepted.2011.08.30a.pdf
22844c62abc9SPaul E. McKenney	Superseded by MathieuDesnoyers2012URCU.
2285*6ae37718SPaul E. McKenney}
22864c62abc9SPaul E. McKenney}
22874c62abc9SPaul E. McKenney
22884c62abc9SPaul E. McKenney@inproceedings{HariKannan2009DynamicAnalysisRCU
22894c62abc9SPaul E. McKenney,author = {Kannan, Hari}
22904c62abc9SPaul E. McKenney,title = {Ordering decoupled metadata accesses in multiprocessors}
22914c62abc9SPaul E. McKenney,booktitle = {MICRO 42: Proceedings of the 42nd Annual IEEE/ACM International Symposium on Microarchitecture}
22924c62abc9SPaul E. McKenney,year = {2009}
22934c62abc9SPaul E. McKenney,isbn = {978-1-60558-798-1}
22944c62abc9SPaul E. McKenney,pages = {381--390}
22954c62abc9SPaul E. McKenney,location = {New York, New York}
22964c62abc9SPaul E. McKenney,doi = {http://doi.acm.org/10.1145/1669112.1669161}
22974c62abc9SPaul E. McKenney,publisher = {ACM}
22984c62abc9SPaul E. McKenney,address = {New York, NY, USA}
22994c62abc9SPaul E. McKenney,annotation={
23004c62abc9SPaul E. McKenney	Uses RCU to protect metadata used in dynamic analysis.
2301*6ae37718SPaul E. McKenney}
2302*6ae37718SPaul E. McKenney}
23034c62abc9SPaul E. McKenney
23044c62abc9SPaul E. McKenney@conference{PaulEMcKenney2010SimpleOptRCU
23054c62abc9SPaul E. McKenney,Author="Paul E. McKenney"
23064c62abc9SPaul E. McKenney,Title="Simplicity Through Optimization"
23074c62abc9SPaul E. McKenney,Booktitle="linux.conf.au 2010"
23084c62abc9SPaul E. McKenney,month="January"
23094c62abc9SPaul E. McKenney,year="2010"
23104c62abc9SPaul E. McKenney,address="Wellington, New Zealand"
23114c62abc9SPaul E. McKenney,note="Available:
23124c62abc9SPaul E. McKenney\url{http://www.rdrop.com/users/paulmck/RCU/SimplicityThruOptimization.2010.01.21f.pdf}
23134c62abc9SPaul E. McKenney[Viewed October 10, 2010]"
2314*6ae37718SPaul E. McKenney,annotation={
23154c62abc9SPaul E. McKenney	TREE_PREEMPT_RCU optimizations greatly simplified the old
23164c62abc9SPaul E. McKenney	PREEMPT_RCU implementation.
2317*6ae37718SPaul E. McKenney}
23184c62abc9SPaul E. McKenney}
23194c62abc9SPaul E. McKenney
23204c62abc9SPaul E. McKenney@unpublished{PaulEMcKenney2010LockdepRCU
23214c62abc9SPaul E. McKenney,Author="Paul E. McKenney"
23224c62abc9SPaul E. McKenney,Title="Lockdep-{RCU}"
23234c62abc9SPaul E. McKenney,month="February"
23244c62abc9SPaul E. McKenney,year="2010"
23254c62abc9SPaul E. McKenney,day="1"
2326*6ae37718SPaul E. McKenney,note="\url{https://lwn.net/Articles/371986/}"
2327*6ae37718SPaul E. McKenney,annotation={
23284c62abc9SPaul E. McKenney	CONFIG_PROVE_RCU, or at least an early version.
2329*6ae37718SPaul E. McKenney	[Viewed June 4, 2010]
2330*6ae37718SPaul E. McKenney}
23314c62abc9SPaul E. McKenney}
23324c62abc9SPaul E. McKenney
23334c62abc9SPaul E. McKenney@unpublished{AviKivity2010KVM2RCU
23344c62abc9SPaul E. McKenney,Author="Avi Kivity"
23354c62abc9SPaul E. McKenney,Title="[{PATCH} 37/40] {KVM}: Bump maximum vcpu count to 64"
23364c62abc9SPaul E. McKenney,month="February"
23374c62abc9SPaul E. McKenney,year="2010"
23384c62abc9SPaul E. McKenney,note="Available:
23394c62abc9SPaul E. McKenney\url{http://www.mail-archive.com/kvm@vger.kernel.org/msg28640.html}
23404c62abc9SPaul E. McKenney[Viewed March 20, 2010]"
2341*6ae37718SPaul E. McKenney,annotation={
23424c62abc9SPaul E. McKenney	Use of RCU permits KVM to increase the size of guest OSes from
23434c62abc9SPaul E. McKenney	16 CPUs to 64 CPUs.
2344*6ae37718SPaul E. McKenney}
23454c62abc9SPaul E. McKenney}
23464c62abc9SPaul E. McKenney
23474c62abc9SPaul E. McKenney@unpublished{HerbertXu2010RCUResizeHash
23484c62abc9SPaul E. McKenney,Author="Herbert Xu"
23494c62abc9SPaul E. McKenney,Title="bridge: Add core IGMP snooping support"
23504c62abc9SPaul E. McKenney,month="February"
23514c62abc9SPaul E. McKenney,year="2010"
23524c62abc9SPaul E. McKenney,note="Available:
23534c62abc9SPaul E. McKenney\url{http://kerneltrap.com/mailarchive/linux-netdev/2010/2/26/6270589}
23544c62abc9SPaul E. McKenney[Viewed March 20, 2011]"
23554c62abc9SPaul E. McKenney,annotation={
23564c62abc9SPaul E. McKenney	Use a pair of list_head structures to support RCU-protected
23574c62abc9SPaul E. McKenney	resizable hash tables.
2358*6ae37718SPaul E. McKenney}
2359*6ae37718SPaul E. McKenney}
2360*6ae37718SPaul E. McKenney
2361*6ae37718SPaul E. McKenney@mastersthesis{AbhinavDuggal2010Masters
2362*6ae37718SPaul E. McKenney,author="Abhinav Duggal"
2363*6ae37718SPaul E. McKenney,title="Stopping Data Races Using Redflag"
2364*6ae37718SPaul E. McKenney,school="Stony Brook University"
2365*6ae37718SPaul E. McKenney,year="2010"
2366*6ae37718SPaul E. McKenney,annotation={
2367*6ae37718SPaul E. McKenney	Data-race detector incorporating RCU.
2368*6ae37718SPaul E. McKenney	http://www.filesystems.org/docs/abhinav-thesis/abhinav_thesis.pdf
2369*6ae37718SPaul E. McKenney}
2370*6ae37718SPaul E. McKenney}
23714c62abc9SPaul E. McKenney
23724c62abc9SPaul E. McKenney@article{JoshTriplett2010RPHash
23734c62abc9SPaul E. McKenney,author="Josh Triplett and Paul E. McKenney and Jonathan Walpole"
23744c62abc9SPaul E. McKenney,title="Scalable Concurrent Hash Tables via Relativistic Programming"
23754c62abc9SPaul E. McKenney,journal="ACM Operating Systems Review"
23764c62abc9SPaul E. McKenney,year=2010
23774c62abc9SPaul E. McKenney,volume=44
23784c62abc9SPaul E. McKenney,number=3
23794c62abc9SPaul E. McKenney,month="July"
23804c62abc9SPaul E. McKenney,annotation={
23814c62abc9SPaul E. McKenney	RP fun with hash tables.
23824c62abc9SPaul E. McKenney	http://portal.acm.org/citation.cfm?id=1842733.1842750
2383*6ae37718SPaul E. McKenney}
2384*6ae37718SPaul E. McKenney}
23854c62abc9SPaul E. McKenney
23864c62abc9SPaul E. McKenney@unpublished{PaulEMcKenney2010RCUAPI
23874c62abc9SPaul E. McKenney,Author="Paul E. McKenney"
23884c62abc9SPaul E. McKenney,Title="The {RCU} {API}, 2010 Edition"
23894c62abc9SPaul E. McKenney,month="December"
23904c62abc9SPaul E. McKenney,day="8"
23914c62abc9SPaul E. McKenney,year="2010"
2392*6ae37718SPaul E. McKenney,note="\url{http://lwn.net/Articles/418853/}"
2393*6ae37718SPaul E. McKenney,annotation={
23944c62abc9SPaul E. McKenney	Includes updated software-engineering features.
2395*6ae37718SPaul E. McKenney	[Viewed December 8, 2010]
2396*6ae37718SPaul E. McKenney}
23974c62abc9SPaul E. McKenney}
23984c62abc9SPaul E. McKenney
23994c62abc9SPaul E. McKenney@mastersthesis{AndrejPodzimek2010masters
24004c62abc9SPaul E. McKenney,author="Andrej Podzimek"
24014c62abc9SPaul E. McKenney,title="Read-Copy-Update for OpenSolaris"
24024c62abc9SPaul E. McKenney,school="Charles University in Prague"
24034c62abc9SPaul E. McKenney,year="2010"
24044c62abc9SPaul E. McKenney,note="Available:
24054c62abc9SPaul E. McKenney\url{https://andrej.podzimek.org/thesis.pdf}
24064c62abc9SPaul E. McKenney[Viewed January 31, 2011]"
24074c62abc9SPaul E. McKenney,annotation={
24084c62abc9SPaul E. McKenney	Reviews RCU implementations and creates a few for OpenSolaris.
24094c62abc9SPaul E. McKenney	Drives quiescent-state detection from RCU read-side primitives,
24104c62abc9SPaul E. McKenney	in a manner roughly similar to that of Jim Houston.
2411*6ae37718SPaul E. McKenney}
2412*6ae37718SPaul E. McKenney}
24134c62abc9SPaul E. McKenney
24144c62abc9SPaul E. McKenney@unpublished{LinusTorvalds2011Linux2:6:38:rc1:NPigginVFS
24154c62abc9SPaul E. McKenney,Author="Linus Torvalds"
24164c62abc9SPaul E. McKenney,Title="Linux 2.6.38-rc1"
24174c62abc9SPaul E. McKenney,month="January"
24184c62abc9SPaul E. McKenney,year="2011"
24194c62abc9SPaul E. McKenney,note="Available:
24204c62abc9SPaul E. McKenney\url{https://lkml.org/lkml/2011/1/18/322}
24214c62abc9SPaul E. McKenney[Viewed March 4, 2011]"
24224c62abc9SPaul E. McKenney,annotation={
24234c62abc9SPaul E. McKenney	"The RCU-based name lookup is at the other end of the spectrum - the
24244c62abc9SPaul E. McKenney	absolute anti-gimmick. It's some seriously good stuff, and gets rid of
24254c62abc9SPaul E. McKenney	the last main global lock that really tends to hurt some kernel loads.
24264c62abc9SPaul E. McKenney	The dentry lock is no longer a big serializing issue. What's really
24274c62abc9SPaul E. McKenney	nice about it is that it actually improves performance a lot even for
24284c62abc9SPaul E. McKenney	single-threaded loads (on an SMP kernel), because it gets rid of some
24294c62abc9SPaul E. McKenney	of the most expensive parts of path component lookup, which was the
24304c62abc9SPaul E. McKenney	d_lock on every component lookup. So I'm seeing improvements of 30-50%
24314c62abc9SPaul E. McKenney	on some seriously pathname-lookup intensive loads."
2432*6ae37718SPaul E. McKenney}
2433*6ae37718SPaul E. McKenney}
24344c62abc9SPaul E. McKenney
24354c62abc9SPaul E. McKenney@techreport{JoshTriplett2011RPScalableCorrectOrdering
24364c62abc9SPaul E. McKenney,author = {Josh Triplett and Philip W. Howard and Paul E. McKenney and Jonathan Walpole}
24374c62abc9SPaul E. McKenney,title = {Scalable Correct Memory Ordering via Relativistic Programming}
24384c62abc9SPaul E. McKenney,year = {2011}
24394c62abc9SPaul E. McKenney,number = {11-03}
24404c62abc9SPaul E. McKenney,institution = {Portland State University}
24414c62abc9SPaul E. McKenney,note = {\url{http://www.cs.pdx.edu/pdfs/tr1103.pdf}}
24424c62abc9SPaul E. McKenney}
24434c62abc9SPaul E. McKenney
24444c62abc9SPaul E. McKenney@inproceedings{PhilHoward2011RCUTMRBTree
24454c62abc9SPaul E. McKenney,author = {Philip W. Howard and Jonathan Walpole}
24464c62abc9SPaul E. McKenney,title = {A Relativistic Enhancement to Software Transactional Memory}
24474c62abc9SPaul E. McKenney,booktitle = {Proceedings of the 3rd USENIX conference on Hot topics in parallelism}
24484c62abc9SPaul E. McKenney,series = {HotPar'11}
24494c62abc9SPaul E. McKenney,year = {2011}
24504c62abc9SPaul E. McKenney,location = {Berkeley, CA}
24514c62abc9SPaul E. McKenney,pages = {1--6}
24524c62abc9SPaul E. McKenney,numpages = {6}
24534c62abc9SPaul E. McKenney,url = {http://www.usenix.org/event/hotpar11/tech/final_files/Howard.pdf}
24544c62abc9SPaul E. McKenney,publisher = {USENIX Association}
24554c62abc9SPaul E. McKenney,address = {Berkeley, CA, USA}
24564c62abc9SPaul E. McKenney}
24574c62abc9SPaul E. McKenney
24584c62abc9SPaul E. McKenney@techreport{PaulEMcKenney2011cyclicparallelRCU
24594c62abc9SPaul E. McKenney,author="Paul E. McKenney and Jonathan Walpole"
24604c62abc9SPaul E. McKenney,title="Efficient Support of Consistent Cyclic Search With Read-Copy Update and Parallel Updates"
24614c62abc9SPaul E. McKenney,institution="US Patent and Trademark Office"
24624c62abc9SPaul E. McKenney,address="Washington, DC"
24634c62abc9SPaul E. McKenney,year="2011"
24644c62abc9SPaul E. McKenney,number="US Patent 7,953,778"
24654c62abc9SPaul E. McKenney,month="May"
24664c62abc9SPaul E. McKenney,pages="34"
2467*6ae37718SPaul E. McKenney,annotation={
24684c62abc9SPaul E. McKenney	Maintains an array of generation numbers to track in-flight
24694c62abc9SPaul E. McKenney	updates and keeps an additional level of indirection to allow
24704c62abc9SPaul E. McKenney	readers to confine themselves to the desired snapshot of the
24714c62abc9SPaul E. McKenney	data structure.
2472*6ae37718SPaul E. McKenney}
24734c62abc9SPaul E. McKenney}
24744c62abc9SPaul E. McKenney
24754c62abc9SPaul E. McKenney@inproceedings{Triplett:2011:RPHash
24764c62abc9SPaul E. McKenney,author = {Triplett, Josh and McKenney, Paul E. and Walpole, Jonathan}
24774c62abc9SPaul E. McKenney,title = {Resizable, Scalable, Concurrent Hash Tables via Relativistic Programming}
24784c62abc9SPaul E. McKenney,booktitle = {Proceedings of the 2011 USENIX Annual Technical Conference}
24794c62abc9SPaul E. McKenney,month = {June}
24804c62abc9SPaul E. McKenney,year = {2011}
24814c62abc9SPaul E. McKenney,pages = {145--158}
24824c62abc9SPaul E. McKenney,numpages = {14}
2483*6ae37718SPaul E. McKenney,url={http://www.usenix.org/event/atc11/tech/final_files/Triplett.pdf}
24844c62abc9SPaul E. McKenney,publisher = {The USENIX Association}
24854c62abc9SPaul E. McKenney,address = {Portland, OR USA}
24864c62abc9SPaul E. McKenney}
24874c62abc9SPaul E. McKenney
24884c62abc9SPaul E. McKenney@unpublished{PaulEMcKenney2011RCU3.0trainwreck
24894c62abc9SPaul E. McKenney,Author="Paul E. McKenney"
24904c62abc9SPaul E. McKenney,Title="3.0 and {RCU:} what went wrong"
24914c62abc9SPaul E. McKenney,month="July"
24924c62abc9SPaul E. McKenney,day="27"
24934c62abc9SPaul E. McKenney,year="2011"
2494*6ae37718SPaul E. McKenney,note="\url{http://lwn.net/Articles/453002/}"
2495*6ae37718SPaul E. McKenney,annotation={
24964c62abc9SPaul E. McKenney	Analysis of the RCU trainwreck in Linux kernel 3.0.
2497*6ae37718SPaul E. McKenney	[Viewed July 27, 2011]
2498*6ae37718SPaul E. McKenney}
24994c62abc9SPaul E. McKenney}
25004c62abc9SPaul E. McKenney
25014c62abc9SPaul E. McKenney@unpublished{NeilBrown2011MeetTheLockers
25024c62abc9SPaul E. McKenney,Author="Neil Brown"
2503*6ae37718SPaul E. McKenney,Title="Meet the {Lockers}"
25044c62abc9SPaul E. McKenney,month="August"
25054c62abc9SPaul E. McKenney,day="3"
25064c62abc9SPaul E. McKenney,year="2011"
25074c62abc9SPaul E. McKenney,note="Available:
25084c62abc9SPaul E. McKenney\url{http://lwn.net/Articles/453685/}
25094c62abc9SPaul E. McKenney[Viewed September 2, 2011]"
2510*6ae37718SPaul E. McKenney,annotation={
25114c62abc9SPaul E. McKenney	The Locker family as an analogy for locking, reference counting,
25124c62abc9SPaul E. McKenney	RCU, and seqlock.
2513*6ae37718SPaul E. McKenney}
2514*6ae37718SPaul E. McKenney}
2515*6ae37718SPaul E. McKenney
2516*6ae37718SPaul E. McKenney@inproceedings{Seyster:2011:RFA:2075416.2075425
2517*6ae37718SPaul E. McKenney,author = {Seyster, Justin and Radhakrishnan, Prabakar and Katoch, Samriti and Duggal, Abhinav and Stoller, Scott D. and Zadok, Erez}
2518*6ae37718SPaul E. McKenney,title = {Redflag: a framework for analysis of Kernel-level concurrency}
2519*6ae37718SPaul E. McKenney,booktitle = {Proceedings of the 11th international conference on Algorithms and architectures for parallel processing - Volume Part I}
2520*6ae37718SPaul E. McKenney,series = {ICA3PP'11}
2521*6ae37718SPaul E. McKenney,year = {2011}
2522*6ae37718SPaul E. McKenney,isbn = {978-3-642-24649-4}
2523*6ae37718SPaul E. McKenney,location = {Melbourne, Australia}
2524*6ae37718SPaul E. McKenney,pages = {66--79}
2525*6ae37718SPaul E. McKenney,numpages = {14}
2526*6ae37718SPaul E. McKenney,url = {http://dl.acm.org/citation.cfm?id=2075416.2075425}
2527*6ae37718SPaul E. McKenney,acmid = {2075425}
2528*6ae37718SPaul E. McKenney,publisher = {Springer-Verlag}
2529*6ae37718SPaul E. McKenney,address = {Berlin, Heidelberg}
2530*6ae37718SPaul E. McKenney}
2531*6ae37718SPaul E. McKenney
2532*6ae37718SPaul E. McKenney@phdthesis{JoshTriplettPhD
2533*6ae37718SPaul E. McKenney,author="Josh Triplett"
2534*6ae37718SPaul E. McKenney,title="Relativistic Causal Ordering: A Memory Model for Scalable Concurrent Data Structures"
2535*6ae37718SPaul E. McKenney,school="Portland State University"
2536*6ae37718SPaul E. McKenney,year="2012"
2537*6ae37718SPaul E. McKenney,annotation={
2538*6ae37718SPaul E. McKenney	RCU-protected hash tables, barriers vs. read-side traversal order.
2539*6ae37718SPaul E. McKenney	.
2540*6ae37718SPaul E. McKenney	If the updater is making changes in the opposite direction from
2541*6ae37718SPaul E. McKenney	the read-side traveral order, the updater need only execute a
2542*6ae37718SPaul E. McKenney	memory-barrier instruction, but if in the same direction, the
2543*6ae37718SPaul E. McKenney	updater needs to wait for a grace period between the individual
2544*6ae37718SPaul E. McKenney	updates.
2545*6ae37718SPaul E. McKenney}
25464c62abc9SPaul E. McKenney}
25474c62abc9SPaul E. McKenney
25484c62abc9SPaul E. McKenney@article{MathieuDesnoyers2012URCU
25494c62abc9SPaul E. McKenney,Author="Mathieu Desnoyers and Paul E. McKenney and Alan Stern and Michel R. Dagenais and Jonathan Walpole"
25504c62abc9SPaul E. McKenney,Title="User-Level Implementations of Read-Copy Update"
25514c62abc9SPaul E. McKenney,journal="IEEE Transactions on Parallel and Distributed Systems"
25524c62abc9SPaul E. McKenney,volume={23}
25534c62abc9SPaul E. McKenney,year="2012"
25544c62abc9SPaul E. McKenney,issn="1045-9219"
25554c62abc9SPaul E. McKenney,pages="375-382"
25564c62abc9SPaul E. McKenney,doi="http://doi.ieeecomputersociety.org/10.1109/TPDS.2011.159"
25574c62abc9SPaul E. McKenney,publisher="IEEE Computer Society"
25584c62abc9SPaul E. McKenney,address="Los Alamitos, CA, USA"
25594c62abc9SPaul E. McKenney,annotation={
25604c62abc9SPaul E. McKenney	RCU overview, desiderata, semi-formal semantics, user-level RCU
25614c62abc9SPaul E. McKenney	usage scenarios, three classes of RCU implementation, wait-free
25624c62abc9SPaul E. McKenney	RCU updates, RCU grace-period batching, update overhead,
25634c62abc9SPaul E. McKenney	http://www.rdrop.com/users/paulmck/RCU/urcu-main-accepted.2011.08.30a.pdf
25644c62abc9SPaul E. McKenney	http://www.rdrop.com/users/paulmck/RCU/urcu-supp-accepted.2011.08.30a.pdf
2565*6ae37718SPaul E. McKenney	http://www.computer.org/cms/Computer.org/dl/trans/td/2012/02/extras/ttd2012020375s.pdf
2566*6ae37718SPaul E. McKenney}
2567*6ae37718SPaul E. McKenney}
2568*6ae37718SPaul E. McKenney
2569*6ae37718SPaul E. McKenney@inproceedings{AustinClements2012RCULinux:mmapsem
2570*6ae37718SPaul E. McKenney,author = {Austin Clements and Frans Kaashoek and Nickolai Zeldovich}
2571*6ae37718SPaul E. McKenney,title = {Scalable Address Spaces Using {RCU} Balanced Trees}
2572*6ae37718SPaul E. McKenney,booktitle = {Architectural Support for Programming Languages and Operating Systems (ASPLOS 2012)}
2573*6ae37718SPaul E. McKenney,month = {March}
2574*6ae37718SPaul E. McKenney,year = {2012}
2575*6ae37718SPaul E. McKenney,pages = {199--210}
2576*6ae37718SPaul E. McKenney,numpages = {12}
2577*6ae37718SPaul E. McKenney,publisher = {ACM}
2578*6ae37718SPaul E. McKenney,address = {London, UK}
2579*6ae37718SPaul E. McKenney,url="http://people.csail.mit.edu/nickolai/papers/clements-bonsai.pdf"
2580*6ae37718SPaul E. McKenney}
2581*6ae37718SPaul E. McKenney
2582*6ae37718SPaul E. McKenney@unpublished{PaulEMcKenney2012ELCbattery
2583*6ae37718SPaul E. McKenney,Author="Paul E. McKenney"
2584*6ae37718SPaul E. McKenney,Title="Making {RCU} Safe For Battery-Powered Devices"
2585*6ae37718SPaul E. McKenney,month="February"
2586*6ae37718SPaul E. McKenney,day="15"
2587*6ae37718SPaul E. McKenney,year="2012"
2588*6ae37718SPaul E. McKenney,note="Available:
2589*6ae37718SPaul E. McKenney\url{http://www.rdrop.com/users/paulmck/RCU/RCUdynticks.2012.02.15b.pdf}
2590*6ae37718SPaul E. McKenney[Viewed March 1, 2012]"
2591*6ae37718SPaul E. McKenney,annotation={
2592*6ae37718SPaul E. McKenney	RCU_FAST_NO_HZ, round 2.
2593*6ae37718SPaul E. McKenney}
2594*6ae37718SPaul E. McKenney}
2595*6ae37718SPaul E. McKenney
2596*6ae37718SPaul E. McKenney@article{GuillermoVigueras2012RCUCrowd
2597*6ae37718SPaul E. McKenney,author = {Vigueras, Guillermo and Ordu\~{n}a, Juan M. and Lozano, Miguel}
2598*6ae37718SPaul E. McKenney,day = {25}
2599*6ae37718SPaul E. McKenney,doi = {10.1007/s11227-012-0766-x}
2600*6ae37718SPaul E. McKenney,issn = {0920-8542}
2601*6ae37718SPaul E. McKenney,journal = {The Journal of Supercomputing}
2602*6ae37718SPaul E. McKenney,keywords = {linux, simulation}
2603*6ae37718SPaul E. McKenney,month = apr
2604*6ae37718SPaul E. McKenney,posted-at = {2012-05-03 09:12:04}
2605*6ae37718SPaul E. McKenney,priority = {2}
2606*6ae37718SPaul E. McKenney,title = {{A Read-Copy Update based parallel server for distributed crowd simulations}}
2607*6ae37718SPaul E. McKenney,url = {http://dx.doi.org/10.1007/s11227-012-0766-x}
2608*6ae37718SPaul E. McKenney,year = {2012}
2609*6ae37718SPaul E. McKenney}
2610*6ae37718SPaul E. McKenney
2611*6ae37718SPaul E. McKenney
2612*6ae37718SPaul E. McKenney@unpublished{JonCorbet2012ACCESS:ONCE
2613*6ae37718SPaul E. McKenney,Author="Jon Corbet"
2614*6ae37718SPaul E. McKenney,Title="{ACCESS\_ONCE()}"
2615*6ae37718SPaul E. McKenney,month="August"
2616*6ae37718SPaul E. McKenney,day="1"
2617*6ae37718SPaul E. McKenney,year="2012"
2618*6ae37718SPaul E. McKenney,note="\url{http://lwn.net/Articles/508991/}"
2619*6ae37718SPaul E. McKenney,annotation={
2620*6ae37718SPaul E. McKenney	A couple of simple specific compiler optimizations that motivate
2621*6ae37718SPaul E. McKenney	ACCESS_ONCE().
2622*6ae37718SPaul E. McKenney}
2623*6ae37718SPaul E. McKenney}
2624*6ae37718SPaul E. McKenney
2625*6ae37718SPaul E. McKenney@unpublished{AlexeyGotsman2012VerifyGraceExtended
2626*6ae37718SPaul E. McKenney,Author="Alexey Gotsman and Noam Rinetzky and Hongseok Yang"
2627*6ae37718SPaul E. McKenney,Title="Verifying Highly Concurrent Algorithms with Grace (extended version)"
2628*6ae37718SPaul E. McKenney,month="July"
2629*6ae37718SPaul E. McKenney,day="10"
2630*6ae37718SPaul E. McKenney,year="2012"
2631*6ae37718SPaul E. McKenney,note="\url{http://software.imdea.org/~gotsman/papers/recycling-esop13-ext.pdf}"
2632*6ae37718SPaul E. McKenney,annotation={
2633*6ae37718SPaul E. McKenney	Separation-logic formulation of RCU uses.
2634*6ae37718SPaul E. McKenney}
2635*6ae37718SPaul E. McKenney}
2636*6ae37718SPaul E. McKenney
2637*6ae37718SPaul E. McKenney@unpublished{PaulMcKenney2012RCUUsage
2638*6ae37718SPaul E. McKenney,Author="Paul E. McKenney and Silas Boyd-Wickizer and Jonathan Walpole"
2639*6ae37718SPaul E. McKenney,Title="{RCU} Usage In the Linux Kernel: One Decade Later"
2640*6ae37718SPaul E. McKenney,month="September"
2641*6ae37718SPaul E. McKenney,day="17"
2642*6ae37718SPaul E. McKenney,year="2012"
2643*6ae37718SPaul E. McKenney,url=http://rdrop.com/users/paulmck/techreports/survey.2012.09.17a.pdf
2644*6ae37718SPaul E. McKenney,note="Technical report paulmck.2012.09.17"
2645*6ae37718SPaul E. McKenney,annotation={
2646*6ae37718SPaul E. McKenney	Overview of the first variant of no-CBs CPUs for RCU.
2647*6ae37718SPaul E. McKenney}
2648*6ae37718SPaul E. McKenney}
2649*6ae37718SPaul E. McKenney
2650*6ae37718SPaul E. McKenney@unpublished{JonCorbet2012NOCB
2651*6ae37718SPaul E. McKenney,Author="Jon Corbet"
2652*6ae37718SPaul E. McKenney,Title="Relocating RCU callbacks"
2653*6ae37718SPaul E. McKenney,month="October"
2654*6ae37718SPaul E. McKenney,day="31"
2655*6ae37718SPaul E. McKenney,year="2012"
2656*6ae37718SPaul E. McKenney,note="\url{http://lwn.net/Articles/522262/}"
2657*6ae37718SPaul E. McKenney,annotation={
2658*6ae37718SPaul E. McKenney	Overview of the first variant of no-CBs CPUs for RCU.
2659*6ae37718SPaul E. McKenney}
2660*6ae37718SPaul E. McKenney}
2661*6ae37718SPaul E. McKenney
2662*6ae37718SPaul E. McKenney@phdthesis{JustinSeyster2012PhD
2663*6ae37718SPaul E. McKenney,author="Justin Seyster"
2664*6ae37718SPaul E. McKenney,title="Runtime Verification of Kernel-Level Concurrency Using Compiler-Based Instrumentation"
2665*6ae37718SPaul E. McKenney,school="Stony Brook University"
2666*6ae37718SPaul E. McKenney,year="2012"
2667*6ae37718SPaul E. McKenney,annotation={
2668*6ae37718SPaul E. McKenney	Looking for data races, including those involving RCU.
2669*6ae37718SPaul E. McKenney	Proposal:
2670*6ae37718SPaul E. McKenney	http://www.fsl.cs.sunysb.edu/docs/jseyster-proposal/redflag.pdf
2671*6ae37718SPaul E. McKenney	Dissertation:
2672*6ae37718SPaul E. McKenney	http://www.fsl.cs.sunysb.edu/docs/jseyster-dissertation/redflag.pdf
2673*6ae37718SPaul E. McKenney}
2674*6ae37718SPaul E. McKenney}
2675*6ae37718SPaul E. McKenney
2676*6ae37718SPaul E. McKenney@unpublished{PaulEMcKenney2013RCUUsage
2677*6ae37718SPaul E. McKenney,Author="Paul E. McKenney and Silas Boyd-Wickizer and Jonathan Walpole"
2678*6ae37718SPaul E. McKenney,Title="{RCU} Usage in the {Linux} Kernel: One Decade Later"
2679*6ae37718SPaul E. McKenney,month="February"
2680*6ae37718SPaul E. McKenney,day="24"
2681*6ae37718SPaul E. McKenney,year="2013"
2682*6ae37718SPaul E. McKenney,note="\url{http://rdrop.com/users/paulmck/techreports/RCUUsage.2013.02.24a.pdf}"
2683*6ae37718SPaul E. McKenney,annotation={
2684*6ae37718SPaul E. McKenney	Usage of RCU within the Linux kernel.
2685*6ae37718SPaul E. McKenney}
2686*6ae37718SPaul E. McKenney}
2687*6ae37718SPaul E. McKenney
2688*6ae37718SPaul E. McKenney@inproceedings{AlexeyGotsman2013ESOPRCU
2689*6ae37718SPaul E. McKenney,author = {Alexey Gotsman and Noam Rinetzky and Hongseok Yang}
2690*6ae37718SPaul E. McKenney,title = {Verifying concurrent memory reclamation algorithms with grace}
2691*6ae37718SPaul E. McKenney,booktitle = {ESOP'13: European Symposium on Programming}
2692*6ae37718SPaul E. McKenney,year = {2013}
2693*6ae37718SPaul E. McKenney,pages = {249--269}
2694*6ae37718SPaul E. McKenney,publisher = {Springer}
2695*6ae37718SPaul E. McKenney,address = {Rome, Italy}
2696*6ae37718SPaul E. McKenney,annotation={
2697*6ae37718SPaul E. McKenney	http://software.imdea.org/~gotsman/papers/recycling-esop13.pdf
2698*6ae37718SPaul E. McKenney}
2699*6ae37718SPaul E. McKenney}
2700*6ae37718SPaul E. McKenney
2701*6ae37718SPaul E. McKenney@unpublished{PaulEMcKenney2013NoTinyPreempt
2702*6ae37718SPaul E. McKenney,Author="Paul E. McKenney"
2703*6ae37718SPaul E. McKenney,Title="Simplifying RCU"
2704*6ae37718SPaul E. McKenney,month="March"
2705*6ae37718SPaul E. McKenney,day="6"
2706*6ae37718SPaul E. McKenney,year="2013"
2707*6ae37718SPaul E. McKenney,note="\url{http://lwn.net/Articles/541037/}"
2708*6ae37718SPaul E. McKenney,annotation={
2709*6ae37718SPaul E. McKenney	Getting rid of TINY_PREEMPT_RCU.
27104c62abc9SPaul E. McKenney}
27114c54005cSPaul E. McKenney}
2712