Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300    1) Read the Fscking Papers!
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300    2) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300    3) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300    4) This document describes RCU-related publications, and is followed by
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300    5) the corresponding bibtex entries.  A number of the publications may
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300    6) be found at http://www.rdrop.com/users/paulmck/RCU/.  For others, browsers
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300    7) and search engines will usually find what you are looking for.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300    8) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300    9) The first thing resembling RCU was published in 1980, when Kung and Lehman
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   10) [Kung80] recommended use of a garbage collector to defer destruction
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   11) of nodes in a parallel binary search tree in order to simplify its
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   12) implementation.  This works well in environments that have garbage
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   13) collectors, but most production garbage collectors incur significant
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   14) overhead.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   15) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   16) In 1982, Manber and Ladner [Manber82,Manber84] recommended deferring
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   17) destruction until all threads running at that time have terminated, again
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   18) for a parallel binary search tree.  This approach works well in systems
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   19) with short-lived threads, such as the K42 research operating system.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   20) However, Linux has long-lived tasks, so more is needed.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   21) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   22) In 1986, Hennessy, Osisek, and Seigh [Hennessy89] introduced passive
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   23) serialization, which is an RCU-like mechanism that relies on the presence
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   24) of "quiescent states" in the VM/XA hypervisor that are guaranteed not
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   25) to be referencing the data structure.  However, this mechanism was not
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   26) optimized for modern computer systems, which is not surprising given
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   27) that these overheads were not so expensive in the mid-80s.  Nonetheless,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   28) passive serialization appears to be the first deferred-destruction
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   29) mechanism to be used in production.  Furthermore, the relevant patent
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   30) has lapsed, so this approach may be used in non-GPL software, if desired.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   31) (In contrast, implementation of RCU is permitted only in software licensed
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   32) under either GPL or LGPL.  Sorry!!!)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   33) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   34) In 1987, Rashid et al. described lazy TLB-flush [RichardRashid87a].
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   35) At first glance, this has nothing to do with RCU, but nevertheless
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   36) this paper helped inspire the update-side batching used in the later
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   37) RCU implementation in DYNIX/ptx.  In 1988, Barbara Liskov published
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   38) a description of Argus that noted that use of out-of-date values can
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   39) be tolerated in some situations.  Thus, this paper provides some early
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   40) theoretical justification for use of stale data.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   41) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   42) In 1990, Pugh [Pugh90] noted that explicitly tracking which threads
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   43) were reading a given data structure permitted deferred free to operate
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   44) in the presence of non-terminating threads.  However, this explicit
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   45) tracking imposes significant read-side overhead, which is undesirable
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   46) in read-mostly situations.  This algorithm does take pains to avoid
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   47) write-side contention and parallelize the other write-side overheads by
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   48) providing a fine-grained locking design, however, it would be interesting
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   49) to see how much of the performance advantage reported in 1990 remains
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   50) today.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   51) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   52) At about this same time, Andrews [Andrews91textbook] described ``chaotic
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   53) relaxation'', where the normal barriers between successive iterations
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   54) of convergent numerical algorithms are relaxed, so that iteration $n$
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   55) might use data from iteration $n-1$ or even $n-2$.  This introduces
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   56) error, which typically slows convergence and thus increases the number of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   57) iterations required.  However, this increase is sometimes more than made
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   58) up for by a reduction in the number of expensive barrier operations,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   59) which are otherwise required to synchronize the threads at the end
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   60) of each iteration.  Unfortunately, chaotic relaxation requires highly
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   61) structured data, such as the matrices used in scientific programs, and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   62) is thus inapplicable to most data structures in operating-system kernels.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   63) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   64) In 1992, Henry (now Alexia) Massalin completed a dissertation advising
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   65) parallel programmers to defer processing when feasible to simplify
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   66) synchronization [HMassalinPhD].  RCU makes extremely heavy use of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   67) this advice.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   68) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   69) In 1993, Jacobson [Jacobson93] verbally described what is perhaps the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   70) simplest deferred-free technique: simply waiting a fixed amount of time
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   71) before freeing blocks awaiting deferred free.  Jacobson did not describe
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   72) any write-side changes he might have made in this work using SGI's Irix
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   73) kernel.  Aju John published a similar technique in 1995 [AjuJohn95].
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   74) This works well if there is a well-defined upper bound on the length of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   75) time that reading threads can hold references, as there might well be in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   76) hard real-time systems.  However, if this time is exceeded, perhaps due
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   77) to preemption, excessive interrupts, or larger-than-anticipated load,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   78) memory corruption can ensue, with no reasonable means of diagnosis.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   79) Jacobson's technique is therefore inappropriate for use in production
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   80) operating-system kernels, except when such kernels can provide hard
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   81) real-time response guarantees for all operations.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   82) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   83) Also in 1995, Pu et al. [Pu95a] applied a technique similar to that of Pugh's
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   84) read-side-tracking to permit replugging of algorithms within a commercial
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   85) Unix operating system.  However, this replugging permitted only a single
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   86) reader at a time.  The following year, this same group of researchers
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   87) extended their technique to allow for multiple readers [Cowan96a].
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   88) Their approach requires memory barriers (and thus pipeline stalls),
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   89) but reduces memory latency, contention, and locking overheads.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   90) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   91) 1995 also saw the first publication of DYNIX/ptx's RCU mechanism
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   92) [Slingwine95], which was optimized for modern CPU architectures,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   93) and was successfully applied to a number of situations within the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   94) DYNIX/ptx kernel.  The corresponding conference paper appeared in 1998
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   95) [McKenney98].
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   96) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   97) In 1999, the Tornado and K42 groups described their "generations"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   98) mechanism, which is quite similar to RCU [Gamsa99].  These operating
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   99) systems made pervasive use of RCU in place of "existence locks", which
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  100) greatly simplifies locking hierarchies and helps avoid deadlocks.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  101) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  102) The year 2000 saw an email exchange that would likely have
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  103) led to yet another independent invention of something like RCU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  104) [RustyRussell2000a,RustyRussell2000b].  Instead, 2001 saw the first
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  105) RCU presentation involving Linux [McKenney01a] at OLS.  The resulting
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  106) abundance of RCU patches was presented the following year [McKenney02a],
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  107) and use of RCU in dcache was first described that same year [Linder02a].
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  108) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  109) Also in 2002, Michael [Michael02b,Michael02a] presented "hazard-pointer"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  110) techniques that defer the destruction of data structures to simplify
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  111) non-blocking synchronization (wait-free synchronization, lock-free
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  112) synchronization, and obstruction-free synchronization are all examples of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  113) non-blocking synchronization).  The corresponding journal article appeared
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  114) in 2004 [MagedMichael04a].  This technique eliminates locking, reduces
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  115) contention, reduces memory latency for readers, and parallelizes pipeline
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  116) stalls and memory latency for writers.  However, these techniques still
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  117) impose significant read-side overhead in the form of memory barriers.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  118) Researchers at Sun worked along similar lines in the same timeframe
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  119) [HerlihyLM02].  These techniques can be thought of as inside-out reference
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  120) counts, where the count is represented by the number of hazard pointers
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  121) referencing a given data structure rather than the more conventional
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  122) counter field within the data structure itself.  The key advantage
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  123) of inside-out reference counts is that they can be stored in immortal
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  124) variables, thus allowing races between access and deletion to be avoided.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  125) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  126) By the same token, RCU can be thought of as a "bulk reference count",
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  127) where some form of reference counter covers all reference by a given CPU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  128) or thread during a set timeframe.  This timeframe is related to, but
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  129) not necessarily exactly the same as, an RCU grace period.  In classic
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  130) RCU, the reference counter is the per-CPU bit in the "bitmask" field,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  131) and each such bit covers all references that might have been made by
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  132) the corresponding CPU during the prior grace period.  Of course, RCU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  133) can be thought of in other terms as well.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  134) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  135) In 2003, the K42 group described how RCU could be used to create
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  136) hot-pluggable implementations of operating-system functions [Appavoo03a].
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  137) Later that year saw a paper describing an RCU implementation
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  138) of System V IPC [Arcangeli03] (following up on a suggestion by
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  139) Hugh Dickins [Dickins02a] and an implementation by Mingming Cao
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  140) [MingmingCao2002IPCRCU]), and an introduction to RCU in Linux Journal
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  141) [McKenney03a].
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  142) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  143) 2004 has seen a Linux-Journal article on use of RCU in dcache
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  144) [McKenney04a], a performance comparison of locking to RCU on several
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  145) different CPUs [McKenney04b], a dissertation describing use of RCU in a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  146) number of operating-system kernels [PaulEdwardMcKenneyPhD], a paper
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  147) describing how to make RCU safe for soft-realtime applications [Sarma04c],
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  148) and a paper describing SELinux performance with RCU [JamesMorris04b].
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  149) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  150) 2005 brought further adaptation of RCU to realtime use, permitting
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  151) preemption of RCU realtime critical sections [PaulMcKenney05a,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  152) PaulMcKenney05b].
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  153) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  154) 2006 saw the first best-paper award for an RCU paper [ThomasEHart2006a],
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  155) as well as further work on efficient implementations of preemptible
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  156) RCU [PaulEMcKenney2006b], but priority-boosting of RCU read-side critical
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  157) sections proved elusive.  An RCU implementation permitting general
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  158) blocking in read-side critical sections appeared [PaulEMcKenney2006c],
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  159) Robert Olsson described an RCU-protected trie-hash combination
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  160) [RobertOlsson2006a].
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  161) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  162) 2007 saw the journal version of the award-winning RCU paper from 2006
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  163) [ThomasEHart2007a], as well as a paper demonstrating use of Promela
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  164) and Spin to mechanically verify an optimization to Oleg Nesterov's
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  165) QRCU [PaulEMcKenney2007QRCUspin], a design document describing
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  166) preemptible RCU [PaulEMcKenney2007PreemptibleRCU], and the three-part
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  167) LWN "What is RCU?" series [PaulEMcKenney2007WhatIsRCUFundamentally,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  168) PaulEMcKenney2008WhatIsRCUUsage, and PaulEMcKenney2008WhatIsRCUAPI].
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  169) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  170) 2008 saw a journal paper on real-time RCU [DinakarGuniguntala2008IBMSysJ],
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  171) a history of how Linux changed RCU more than RCU changed Linux
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  172) [PaulEMcKenney2008RCUOSR], and a design overview of hierarchical RCU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  173) [PaulEMcKenney2008HierarchicalRCU].
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  174) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  175) 2009 introduced user-level RCU algorithms [PaulEMcKenney2009MaliciousURCU],
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  176) which Mathieu Desnoyers is now maintaining [MathieuDesnoyers2009URCU]
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  177) [MathieuDesnoyersPhD].  TINY_RCU [PaulEMcKenney2009BloatWatchRCU] made
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  178) its appearance, as did expedited RCU [PaulEMcKenney2009expeditedRCU].
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  179) The problem of resizable RCU-protected hash tables may now be on a path
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  180) to a solution [JoshTriplett2009RPHash].  A few academic researchers are now
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  181) using RCU to solve their parallel problems [HariKannan2009DynamicAnalysisRCU].
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  182) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  183) 2010 produced a simpler preemptible-RCU implementation
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  184) based on TREE_RCU [PaulEMcKenney2010SimpleOptRCU], lockdep-RCU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  185) [PaulEMcKenney2010LockdepRCU], another resizable RCU-protected hash
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  186) table [HerbertXu2010RCUResizeHash] (this one consuming more memory,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  187) but allowing arbitrary changes in hash function, as required for DoS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  188) avoidance in the networking code), realization of the 2009 RCU-protected
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  189) hash table with atomic node move [JoshTriplett2010RPHash], an update on
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  190) the RCU API [PaulEMcKenney2010RCUAPI].
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  191) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  192) 2011 marked the inclusion of Nick Piggin's fully lockless dentry search
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  193) [LinusTorvalds2011Linux2:6:38:rc1:NPigginVFS], an RCU-protected red-black
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  194) tree using software transactional memory to protect concurrent updates
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  195) (strange, but true!) [PhilHoward2011RCUTMRBTree], yet another variant of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  196) RCU-protected resizable hash tables [Triplett:2011:RPHash], the 3.0 RCU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  197) trainwreck [PaulEMcKenney2011RCU3.0trainwreck], and Neil Brown's "Meet the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  198) Lockers" LWN article [NeilBrown2011MeetTheLockers].  Some academic
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  199) work looked at debugging uses of RCU [Seyster:2011:RFA:2075416.2075425].
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  200) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  201) In 2012, Josh Triplett received his Ph.D. with his dissertation
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  202) covering RCU-protected resizable hash tables and the relationship
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  203) between memory barriers and read-side traversal order:  If the updater
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  204) is making changes in the opposite direction from the read-side traveral
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  205) order, the updater need only execute a memory-barrier instruction,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  206) but if in the same direction, the updater needs to wait for a grace
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  207) period between the individual updates [JoshTriplettPhD].  Also in 2012,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  208) after seventeen years of attempts, an RCU paper made it into a top-flight
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  209) academic journal, IEEE Transactions on Parallel and Distributed Systems
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  210) [MathieuDesnoyers2012URCU].  A group of researchers in Spain applied
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  211) user-level RCU to crowd simulation [GuillermoVigueras2012RCUCrowd], and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  212) another group of researchers in Europe produced a formal description of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  213) RCU based on separation logic [AlexeyGotsman2012VerifyGraceExtended],
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  214) which was published in the 2013 European Symposium on Programming
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  215) [AlexeyGotsman2013ESOPRCU].
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  216) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  217) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  218) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  219) Bibtex Entries
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  220) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  221) @article{Kung80
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  222) ,author="H. T. Kung and Q. Lehman"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  223) ,title="Concurrent Manipulation of Binary Search Trees"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  224) ,Year="1980"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  225) ,Month="September"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  226) ,journal="ACM Transactions on Database Systems"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  227) ,volume="5"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  228) ,number="3"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  229) ,pages="354-382"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  230) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  231) 	Use garbage collector to clean up data after everyone is done with it.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  232) 	.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  233) 	Oldest use of something vaguely resembling RCU that I have found.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  234) 	http://portal.acm.org/citation.cfm?id=320619&dl=GUIDE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  235) 	[Viewed December 3, 2007]
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  236) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  237) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  238) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  239) @techreport{Manber82
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  240) ,author="Udi Manber and Richard E. Ladner"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  241) ,title="Concurrency Control in a Dynamic Search Structure"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  242) ,institution="Department of Computer Science, University of Washington"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  243) ,address="Seattle, Washington"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  244) ,year="1982"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  245) ,number="82-01-01"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  246) ,month="January"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  247) ,pages="28"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  248) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  249) 	.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  250) 	Superseded by Manber84.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  251) 	.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  252) 	Describes concurrent AVL tree implementation.  Uses a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  253) 	garbage-collection mechanism to handle concurrent use and deletion
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  254) 	of nodes in the tree, but lacks the summary-of-execution-history
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  255) 	concept of read-copy locking.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  256) 	.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  257) 	Keeps full list of processes that were active when a given
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  258) 	node was to be deleted, and waits until all such processes have
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  259) 	-terminated- before allowing this node to be reused.  This is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  260) 	not described in great detail -- one could imagine using process
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  261) 	IDs for this if the ID space was large enough that overlapping
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  262) 	never occurred.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  263) 	.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  264) 	This restriction makes this algorithm unsuitable for use in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  265) 	systems comprised of long-lived processes.  It also produces
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  266) 	completely unacceptable overhead in systems with large numbers
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  267) 	of processes.  Finally, it is specific to AVL trees.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  268) 	.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  269) 	Cites Kung80, so not an independent invention, but the first
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  270) 	RCU-like usage that does not rely on an automatic garbage
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  271) 	collector.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  272) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  273) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  274) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  275) @article{Manber84
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  276) ,author="Udi Manber and Richard E. Ladner"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  277) ,title="Concurrency Control in a Dynamic Search Structure"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  278) ,Year="1984"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  279) ,Month="September"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  280) ,journal="ACM Transactions on Database Systems"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  281) ,volume="9"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  282) ,number="3"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  283) ,pages="439-455"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  284) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  285) 	Describes concurrent AVL tree implementation.  Uses a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  286) 	garbage-collection mechanism to handle concurrent use and deletion
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  287) 	of nodes in the tree, but lacks the summary-of-execution-history
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  288) 	concept of read-copy locking.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  289) 	.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  290) 	Keeps full list of processes that were active when a given
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  291) 	node was to be deleted, and waits until all such processes have
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  292) 	-terminated- before allowing this node to be reused.  This is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  293) 	not described in great detail -- one could imagine using process
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  294) 	IDs for this if the ID space was large enough that overlapping
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  295) 	never occurred.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  296) 	.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  297) 	This restriction makes this algorithm unsuitable for use in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  298) 	systems comprised of long-lived processes.  It also produces
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  299) 	completely unacceptable overhead in systems with large numbers
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  300) 	of processes.  Finally, it is specific to AVL trees.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  301) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  302) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  303) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  304) @Conference{RichardRashid87a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  305) ,Author="Richard Rashid and Avadis Tevanian and Michael Young and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  306) David Golub and Robert Baron and David Black and William Bolosky and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  307) Jonathan Chew"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  308) ,Title="Machine-Independent Virtual Memory Management for Paged
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  309) Uniprocessor and Multiprocessor Architectures"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  310) ,Booktitle="{2\textsuperscript{nd} Symposium on Architectural Support
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  311) for Programming Languages and Operating Systems}"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  312) ,Publisher="Association for Computing Machinery"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  313) ,Month="October"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  314) ,Year="1987"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  315) ,pages="31-39"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  316) ,Address="Palo Alto, CA"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  317) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  318) \url{http://www.cse.ucsc.edu/~randal/221/rashid-machvm.pdf}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  319) [Viewed February 17, 2005]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  320) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  321) 	Describes lazy TLB flush, where one waits for each CPU to pass
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  322) 	through a scheduling-clock interrupt before reusing a given range
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  323) 	of virtual address.  Does not describe how one determines that
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  324) 	all CPUs have in fact taken such an interrupt, though there are
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  325) 	no shortage of straightforward methods for accomplishing this.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  326) 	.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  327) 	Note that it does not make sense to just wait a fixed amount of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  328) 	time, since a given CPU might have interrupts disabled for an
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  329) 	extended amount of time.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  330) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  331) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  332) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  333) @article{BarbaraLiskov1988ArgusCACM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  334) ,author = {Barbara Liskov}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  335) ,title = {Distributed programming in {Argus}}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  336) ,journal = {Commun. ACM}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  337) ,volume = {31}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  338) ,number = {3}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  339) ,year = {1988}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  340) ,issn = {0001-0782}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  341) ,pages = {300--312}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  342) ,doi = {http://doi.acm.org/10.1145/42392.42399}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  343) ,publisher = {ACM}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  344) ,address = {New York, NY, USA}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  345) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  346) 	At the top of page 307: "Conflicts with deposits and withdrawals
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  347) 	are necessary if the reported total is to be up to date.  They
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  348) 	could be avoided by having total return a sum that is slightly
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  349) 	out of date."  Relies on semantics -- approximate numerical
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  350) 	values sometimes OK.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  351) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  352) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  353) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  354) @techreport{Hennessy89
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  355) ,author="James P. Hennessy and Damian L. Osisek and Joseph W. {Seigh II}"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  356) ,title="Passive Serialization in a Multitasking Environment"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  357) ,institution="US Patent and Trademark Office"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  358) ,address="Washington, DC"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  359) ,year="1989"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  360) ,number="US Patent 4,809,168 (lapsed)"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  361) ,month="February"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  362) ,pages="11"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  363) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  364) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  365) @techreport{Pugh90
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  366) ,author="William Pugh"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  367) ,title="Concurrent Maintenance of Skip Lists"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  368) ,institution="Institute of Advanced Computer Science Studies, Department of Computer Science, University of Maryland"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  369) ,address="College Park, Maryland"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  370) ,year="1990"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  371) ,number="CS-TR-2222.1"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  372) ,month="June"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  373) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  374) 	Concurrent access to skip lists.  Has both weak and strong search.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  375) 	Uses concept of ``garbage queue'', but has no real way of cleaning
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  376) 	the garbage efficiently.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  377) 	.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  378) 	Appears to be an independent invention of an RCU-like mechanism.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  379) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  380) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  381) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  382) # Was Adams91, see also syncrefs.bib.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  383) @Book{Andrews91textbook
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  384) ,Author="Gregory R. Andrews"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  385) ,title="Concurrent Programming, Principles, and Practices"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  386) ,Publisher="Benjamin Cummins"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  387) ,Year="1991"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  388) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  389) 	Has a few paragraphs describing ``chaotic relaxation'', a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  390) 	numerical analysis technique that allows multiprocessors to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  391) 	avoid synchronization overhead by using possibly-stale data.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  392) 	.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  393) 	Seems like this is descended from yet another independent
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  394) 	invention of RCU-like function -- but this is restricted
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  395) 	in that reclamation is not necessary.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  396) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  397) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  398) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  399) @phdthesis{HMassalinPhD
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  400) ,author="H. Massalin"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  401) ,title="Synthesis: An Efficient Implementation of Fundamental Operating
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  402) System Services"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  403) ,school="Columbia University"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  404) ,address="New York, NY"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  405) ,year="1992"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  406) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  407) 	Mondo optimizing compiler.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  408) 	Wait-free stuff.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  409) 	Good advice: defer work to avoid synchronization.  See page 90
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  410) 		(PDF page 106), Section 5.4, fourth bullet point.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  411) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  412) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  413) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  414) @unpublished{Jacobson93
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  415) ,author="Van Jacobson"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  416) ,title="Avoid Read-Side Locking Via Delayed Free"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  417) ,year="1993"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  418) ,month="September"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  419) ,note="private communication"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  420) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  421) 	Use fixed time delay to approximate grace period.  Very simple,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  422) 	but subject to random memory corruption under heavy load.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  423) 	.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  424) 	Independent invention of RCU-like mechanism.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  425) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  426) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  427) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  428) @Conference{AjuJohn95
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  429) ,Author="Aju John"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  430) ,Title="Dynamic vnodes -- Design and Implementation"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  431) ,Booktitle="{USENIX Winter 1995}"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  432) ,Publisher="USENIX Association"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  433) ,Month="January"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  434) ,Year="1995"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  435) ,pages="11-23"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  436) ,Address="New Orleans, LA"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  437) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  438) \url{https://www.usenix.org/publications/library/proceedings/neworl/full_papers/john.a}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  439) [Viewed October 1, 2010]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  440) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  441) 	Age vnodes out of the cache, and have a fixed time set by a kernel
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  442) 	parameter.  Not clear that all races were in fact correctly handled.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  443) 	Used a 20-minute time by default, which would most definitely not
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  444) 	be suitable during DoS attacks or virus scans.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  445) 	.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  446) 	Apparently independent invention of RCU-like mechanism.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  447) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  448) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  449) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  450) @conference{Pu95a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  451) ,Author = "Calton Pu and Tito Autrey and Andrew Black and Charles Consel and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  452) Crispin Cowan and Jon Inouye and Lakshmi Kethana and Jonathan Walpole and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  453) Ke Zhang"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  454) ,Title = "Optimistic Incremental Specialization: Streamlining a Commercial
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  455) ,Operating System"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  456) ,Booktitle = "15\textsuperscript{th} ACM Symposium on
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  457) ,Operating Systems Principles (SOSP'95)"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  458) ,address = "Copper Mountain, CO"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  459) ,month="December"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  460) ,year="1995"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  461) ,pages="314-321"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  462) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  463) 	Uses a replugger, but with a flag to signal when people are
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  464) 	using the resource at hand.  Only one reader at a time.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  465) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  466) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  467) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  468) @conference{Cowan96a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  469) ,Author = "Crispin Cowan and Tito Autrey and Charles Krasic and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  470) ,Calton Pu and Jonathan Walpole"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  471) ,Title = "Fast Concurrent Dynamic Linking for an Adaptive Operating System"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  472) ,Booktitle = "International Conference on Configurable Distributed Systems
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  473) (ICCDS'96)"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  474) ,address = "Annapolis, MD"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  475) ,month="May"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  476) ,year="1996"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  477) ,pages="108"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  478) ,isbn="0-8186-7395-8"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  479) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  480) 	Uses a replugger, but with a counter to signal when people are
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  481) 	using the resource at hand.  Allows multiple readers.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  482) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  483) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  484) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  485) @techreport{Slingwine95
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  486) ,author="John D. Slingwine and Paul E. McKenney"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  487) ,title="Apparatus and Method for Achieving Reduced Overhead Mutual
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  488) Exclusion and Maintaining Coherency in a Multiprocessor System
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  489) Utilizing Execution History and Thread Monitoring"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  490) ,institution="US Patent and Trademark Office"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  491) ,address="Washington, DC"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  492) ,year="1995"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  493) ,number="US Patent 5,442,758"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  494) ,month="August"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  495) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  496) 	Describes the parallel RCU infrastructure.  Includes NUMA aspect
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  497) 	(structure of bitmap can reflect bus structure of computer system).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  498) 	.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  499) 	Another independent invention of an RCU-like mechanism, but the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  500) 	"real" RCU this time!
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  501) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  502) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  503) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  504) @techreport{Slingwine97
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  505) ,author="John D. Slingwine and Paul E. McKenney"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  506) ,title="Method for Maintaining Data Coherency Using Thread Activity
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  507) Summaries in a Multicomputer System"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  508) ,institution="US Patent and Trademark Office"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  509) ,address="Washington, DC"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  510) ,year="1997"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  511) ,number="US Patent 5,608,893"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  512) ,month="March"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  513) ,pages="19"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  514) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  515) 	Describes use of RCU to synchronize data between a pair of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  516) 	SMP/NUMA computer systems.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  517) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  518) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  519) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  520) @techreport{Slingwine98
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  521) ,author="John D. Slingwine and Paul E. McKenney"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  522) ,title="Apparatus and Method for Achieving Reduced Overhead Mutual
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  523) Exclusion and Maintaining Coherency in a Multiprocessor System
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  524) Utilizing Execution History and Thread Monitoring"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  525) ,institution="US Patent and Trademark Office"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  526) ,address="Washington, DC"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  527) ,year="1998"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  528) ,number="US Patent 5,727,209"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  529) ,month="March"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  530) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  531) 	Describes doing an atomic update by copying the data item and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  532) 	then substituting it into the data structure.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  533) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  534) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  535) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  536) @Conference{McKenney98
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  537) ,Author="Paul E. McKenney and John D. Slingwine"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  538) ,Title="Read-Copy Update: Using Execution History to Solve Concurrency
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  539) Problems"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  540) ,Booktitle="{Parallel and Distributed Computing and Systems}"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  541) ,Month="October"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  542) ,Year="1998"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  543) ,pages="509-518"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  544) ,Address="Las Vegas, NV"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  545) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  546) 	Describes and analyzes RCU mechanism in DYNIX/ptx.  Describes
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  547) 	application to linked list update and log-buffer flushing.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  548) 	Defines 'quiescent state'.  Includes both measured and analytic
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  549) 	evaluation.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  550) 	http://www.rdrop.com/users/paulmck/RCU/rclockpdcsproof.pdf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  551) 	[Viewed December 3, 2007]
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  552) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  553) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  554) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  555) @Conference{Gamsa99
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  556) ,Author="Ben Gamsa and Orran Krieger and Jonathan Appavoo and Michael Stumm"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  557) ,Title="Tornado: Maximizing Locality and Concurrency in a Shared Memory
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  558) Multiprocessor Operating System"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  559) ,Booktitle="{Proceedings of the 3\textsuperscript{rd} Symposium on
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  560) Operating System Design and Implementation}"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  561) ,Month="February"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  562) ,Year="1999"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  563) ,pages="87-100"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  564) ,Address="New Orleans, LA"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  565) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  566) 	Use of RCU-like facility in K42/Tornado.  Another independent
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  567) 	invention of RCU.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  568) 	See especially pages 7-9 (Section 5).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  569) 	http://www.usenix.org/events/osdi99/full_papers/gamsa/gamsa.pdf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  570) 	[Viewed August 30, 2006]
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  571) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  572) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  573) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  574) @unpublished{RustyRussell2000a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  575) ,Author="Rusty Russell"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  576) ,Title="Re: modular net drivers"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  577) ,month="June"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  578) ,year="2000"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  579) ,day="23"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  580) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  581) \url{http://oss.sgi.com/projects/netdev/archive/2000-06/msg00250.html}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  582) [Viewed April 10, 2006]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  583) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  584) 	Proto-RCU proposal from Phil Rumpf and Rusty Russell.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  585) 	Yet another independent invention of RCU.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  586) 	Outline of algorithm to unload modules...
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  587) 	.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  588) 	Appeared on net-dev mailing list.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  589) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  590) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  591) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  592) @unpublished{RustyRussell2000b
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  593) ,Author="Rusty Russell"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  594) ,Title="Re: modular net drivers"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  595) ,month="June"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  596) ,year="2000"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  597) ,day="24"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  598) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  599) \url{http://oss.sgi.com/projects/netdev/archive/2000-06/msg00254.html}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  600) [Viewed April 10, 2006]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  601) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  602) 	Proto-RCU proposal from Phil Rumpf and Rusty Russell.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  603) 	.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  604) 	Appeared on net-dev mailing list.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  605) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  606) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  607) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  608) @unpublished{McKenney01b
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  609) ,Author="Paul E. McKenney and Dipankar Sarma"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  610) ,Title="Read-Copy Update Mutual Exclusion in {Linux}"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  611) ,month="February"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  612) ,year="2001"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  613) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  614) \url{http://lse.sourceforge.net/locking/rcu/rcupdate_doc.html}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  615) [Viewed October 18, 2004]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  616) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  617) 	Prototypical Linux documentation for RCU.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  618) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  619) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  620) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  621) @techreport{Slingwine01
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  622) ,author="John D. Slingwine and Paul E. McKenney"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  623) ,title="Apparatus and Method for Achieving Reduced Overhead Mutual
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  624) Exclusion and Maintaining Coherency in a Multiprocessor System
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  625) Utilizing Execution History and Thread Monitoring"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  626) ,institution="US Patent and Trademark Office"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  627) ,address="Washington, DC"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  628) ,year="2001"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  629) ,number="US Patent 6,219,690"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  630) ,month="April"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  631) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  632) 	'Change in mode' aspect of RCU.  Can be thought of as a lazy barrier.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  633) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  634) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  635) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  636) @Conference{McKenney01a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  637) ,Author="Paul E. McKenney and Jonathan Appavoo and Andi Kleen and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  638) Orran Krieger and Rusty Russell and Dipankar Sarma and Maneesh Soni"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  639) ,Title="Read-Copy Update"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  640) ,Booktitle="{Ottawa Linux Symposium}"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  641) ,Month="July"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  642) ,Year="2001"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  643) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  644) \url{http://www.linuxsymposium.org/2001/abstracts/readcopy.php}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  645) \url{http://www.rdrop.com/users/paulmck/RCU/rclock_OLS.2001.05.01c.pdf}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  646) [Viewed June 23, 2004]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  647) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  648) 	Described RCU, and presented some patches implementing and using
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  649) 	it in the Linux kernel.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  650) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  651) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  652) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  653) @unpublished{McKenney01f
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  654) ,Author="Paul E. McKenney"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  655) ,Title="{RFC:} patch to allow lock-free traversal of lists with insertion"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  656) ,month="October"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  657) ,year="2001"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  658) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  659) \url{http://marc.theaimsgroup.com/?l=linux-kernel&m=100259266316456&w=2}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  660) [Viewed June 23, 2004]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  661) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  662) 	Memory-barrier and Alpha thread.  100 messages, not too bad...
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  663) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  664) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  665) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  666) @unpublished{Spraul01
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  667) ,Author="Manfred Spraul"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  668) ,Title="Re: {RFC:} patch to allow lock-free traversal of lists with insertion"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  669) ,month="October"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  670) ,year="2001"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  671) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  672) \url{http://marc.theaimsgroup.com/?l=linux-kernel&m=100264675012867&w=2}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  673) [Viewed June 23, 2004]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  674) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  675) 	Suggested burying memory barriers in Linux's list-manipulation
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  676) 	primitives.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  677) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  678) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  679) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  680) @unpublished{LinusTorvalds2001a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  681) ,Author="Linus Torvalds"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  682) ,Title="{Re:} {[Lse-tech]} {Re:} {RFC:} patch to allow lock-free traversal of lists with insertion"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  683) ,month="October"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  684) ,year="2001"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  685) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  686) \url{http://lkml.org/lkml/2001/10/13/105}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  687) [Viewed August 21, 2004]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  688) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  689) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  690) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  691) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  692) @unpublished{Blanchard02a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  693) ,Author="Anton Blanchard"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  694) ,Title="some RCU dcache and ratcache results"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  695) ,month="March"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  696) ,year="2002"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  697) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  698) \url{http://marc.theaimsgroup.com/?l=linux-kernel&m=101637107412972&w=2}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  699) [Viewed October 18, 2004]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  700) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  701) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  702) @conference{Michael02b
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  703) ,author="Maged M. Michael"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  704) ,title="High Performance Dynamic Lock-Free Hash Tables and List-Based Sets"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  705) ,Year="2002"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  706) ,Month="August"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  707) ,booktitle="{Proceedings of the 14\textsuperscript{th} Annual ACM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  708) Symposium on Parallel
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  709) Algorithms and Architecture}"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  710) ,pages="73-82"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  711) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  712) Like the title says...
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  713) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  714) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  715) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  716) @Conference{Linder02a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  717) ,Author="Hanna Linder and Dipankar Sarma and Maneesh Soni"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  718) ,Title="Scalability of the Directory Entry Cache"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  719) ,Booktitle="{Ottawa Linux Symposium}"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  720) ,Month="June"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  721) ,Year="2002"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  722) ,pages="289-300"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  723) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  724) 	Measured scalability of Linux 2.4 kernel's directory-entry cache
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  725) 	(dcache), and measured some scalability enhancements.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  726) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  727) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  728) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  729) @Conference{McKenney02a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  730) ,Author="Paul E. McKenney and Dipankar Sarma and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  731) Andrea Arcangeli and Andi Kleen and Orran Krieger and Rusty Russell"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  732) ,Title="Read-Copy Update"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  733) ,Booktitle="{Ottawa Linux Symposium}"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  734) ,Month="June"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  735) ,Year="2002"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  736) ,pages="338-367"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  737) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  738) \url{http://www.linux.org.uk/~ajh/ols2002_proceedings.pdf.gz}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  739) [Viewed June 23, 2004]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  740) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  741) 	Presented and compared a number of RCU implementations for the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  742) 	Linux kernel.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  743) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  744) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  745) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  746) @unpublished{Sarma02a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  747) ,Author="Dipankar Sarma"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  748) ,Title="specweb99: dcache scalability results"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  749) ,month="July"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  750) ,year="2002"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  751) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  752) \url{http://marc.theaimsgroup.com/?l=linux-kernel&m=102645767914212&w=2}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  753) [Viewed June 23, 2004]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  754) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  755) 	Compare fastwalk and RCU for dcache.  RCU won.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  756) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  757) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  758) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  759) @unpublished{Barbieri02
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  760) ,Author="Luca Barbieri"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  761) ,Title="Re: {[PATCH]} Initial support for struct {vfs\_cred}"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  762) ,month="August"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  763) ,year="2002"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  764) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  765) \url{http://marc.theaimsgroup.com/?l=linux-kernel&m=103082050621241&w=2}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  766) [Viewed: June 23, 2004]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  767) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  768) 	Suggested RCU for vfs\_shared\_cred.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  769) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  770) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  771) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  772) @conference{Michael02a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  773) ,author="Maged M. Michael"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  774) ,title="Safe Memory Reclamation for Dynamic Lock-Free Objects Using Atomic
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  775) Reads and Writes"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  776) ,Year="2002"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  777) ,Month="August"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  778) ,booktitle="{Proceedings of the 21\textsuperscript{st} Annual ACM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  779) Symposium on Principles of Distributed Computing}"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  780) ,pages="21-30"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  781) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  782) 	Each thread keeps an array of pointers to items that it is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  783) 	currently referencing.	Sort of an inside-out garbage collection
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  784) 	mechanism, but one that requires the accessing code to explicitly
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  785) 	state its needs.  Also requires read-side memory barriers on
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  786) 	most architectures.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  787) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  788) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  789) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  790) @unpublished{Dickins02a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  791) ,author="Hugh Dickins"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  792) ,title="Use RCU for System-V IPC"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  793) ,year="2002"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  794) ,month="October"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  795) ,note="private communication"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  796) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  797) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  798) @InProceedings{HerlihyLM02
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  799) ,author={Maurice Herlihy and Victor Luchangco and Mark Moir}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  800) ,title="The Repeat Offender Problem: A Mechanism for Supporting Dynamic-Sized,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  801) Lock-Free Data Structures"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  802) ,booktitle={Proceedings of 16\textsuperscript{th} International
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  803) Symposium on Distributed Computing}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  804) ,year=2002
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  805) ,month="October"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  806) ,pages="339-353"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  807) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  808) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  809) @unpublished{Sarma02b
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  810) ,Author="Dipankar Sarma"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  811) ,Title="Some dcache\_rcu benchmark numbers"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  812) ,month="October"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  813) ,year="2002"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  814) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  815) \url{http://marc.theaimsgroup.com/?l=linux-kernel&m=103462075416638&w=2}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  816) [Viewed June 23, 2004]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  817) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  818) 	Performance of dcache RCU on kernbench for 16x NUMA-Q and 1x,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  819) 	2x, and 4x systems.  RCU does no harm, and helps on 16x.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  820) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  821) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  822) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  823) @unpublished{MingmingCao2002IPCRCU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  824) ,Author="Mingming Cao"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  825) ,Title="[PATCH]updated ipc lock patch"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  826) ,month="October"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  827) ,year="2002"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  828) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  829) \url{https://lkml.org/lkml/2002/10/24/262}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  830) [Viewed February 15, 2014]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  831) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  832) 	Mingming Cao's patch to introduce RCU to SysV IPC.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  833) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  834) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  835) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  836) @unpublished{LinusTorvalds2003a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  837) ,Author="Linus Torvalds"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  838) ,Title="Re: {[PATCH]} small fixes in brlock.h"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  839) ,month="March"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  840) ,year="2003"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  841) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  842) \url{http://lkml.org/lkml/2003/3/9/205}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  843) [Viewed March 13, 2006]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  844) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  845) 	Linus suggests replacing brlock with RCU and/or seqlocks:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  846) 	.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  847) 	'It's entirely possible that the current user could be replaced
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  848) 	by RCU and/or seqlocks, and we could get rid of brlocks entirely.'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  849) 	.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  850) 	Steve Hemminger responds by replacing them with RCU.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  851) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  852) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  853) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  854) @article{Appavoo03a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  855) ,author="J. Appavoo and K. Hui and C. A. N. Soules and R. W. Wisniewski and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  856) D. M. {Da Silva} and O. Krieger and M. A. Auslander and D. J. Edelsohn and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  857) B. Gamsa and G. R. Ganger and P. McKenney and M. Ostrowski and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  858) B. Rosenburg and M. Stumm and J. Xenidis"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  859) ,title="Enabling Autonomic Behavior in Systems Software With Hot Swapping"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  860) ,Year="2003"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  861) ,Month="January"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  862) ,journal="IBM Systems Journal"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  863) ,volume="42"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  864) ,number="1"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  865) ,pages="60-76"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  866) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  867) 	Use of RCU to enable hot-swapping for autonomic behavior in K42.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  868) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  869) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  870) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  871) @unpublished{Seigh03
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  872) ,author="Joseph W. {Seigh II}"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  873) ,title="Read Copy Update"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  874) ,Year="2003"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  875) ,Month="March"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  876) ,note="email correspondence"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  877) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  878) 	Described the relationship of the VM/XA passive serialization to RCU.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  879) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  880) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  881) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  882) @Conference{Arcangeli03
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  883) ,Author="Andrea Arcangeli and Mingming Cao and Paul E. McKenney and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  884) Dipankar Sarma"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  885) ,Title="Using Read-Copy Update Techniques for {System V IPC} in the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  886) {Linux} 2.5 Kernel"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  887) ,Booktitle="Proceedings of the 2003 USENIX Annual Technical Conference
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  888) (FREENIX Track)"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  889) ,Publisher="USENIX Association"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  890) ,year="2003"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  891) ,month="June"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  892) ,pages="297-310"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  893) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  894) 	Compared updated RCU implementations for the Linux kernel, and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  895) 	described System V IPC use of RCU, including order-of-magnitude
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  896) 	performance improvements.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  897) 	http://www.rdrop.com/users/paulmck/RCU/rcu.FREENIX.2003.06.14.pdf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  898) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  899) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  900) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  901) @Conference{Soules03a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  902) ,Author="Craig A. N. Soules and Jonathan Appavoo and Kevin Hui and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  903) Dilma {Da Silva} and Gregory R. Ganger and Orran Krieger and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  904) Michael Stumm and Robert W. Wisniewski and Marc Auslander and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  905) Michal Ostrowski and Bryan Rosenburg and Jimi Xenidis"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  906) ,Title="System Support for Online Reconfiguration"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  907) ,Booktitle="Proceedings of the 2003 USENIX Annual Technical Conference"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  908) ,Publisher="USENIX Association"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  909) ,year="2003"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  910) ,month="June"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  911) ,pages="141-154"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  912) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  913) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  914) @article{McKenney03a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  915) ,author="Paul E. McKenney"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  916) ,title="Using {RCU} in the {Linux} 2.5 Kernel"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  917) ,Year="2003"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  918) ,Month="October"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  919) ,journal="Linux Journal"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  920) ,volume="1"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  921) ,number="114"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  922) ,pages="18-26"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  923) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  924) \url{http://www.linuxjournal.com/article/6993}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  925) [Viewed November 14, 2007]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  926) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  927) 	Reader-friendly intro to RCU, with the infamous old-man-and-brat
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  928) 	cartoon.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  929) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  930) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  931) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  932) @unpublished{Sarma03a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  933) ,Author="Dipankar Sarma"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  934) ,Title="RCU low latency patches"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  935) ,month="December"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  936) ,year="2003"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  937) ,note="Message ID: 20031222180114.GA2248@in.ibm.com"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  938) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  939) 	dipankar/ct.2004.03.27/RCUll.2003.12.22.patch
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  940) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  941) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  942) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  943) @techreport{Friedberg03a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  944) ,author="Stuart A. Friedberg"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  945) ,title="Lock-Free Wild Card Search Data Structure and Method"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  946) ,institution="US Patent and Trademark Office"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  947) ,address="Washington, DC"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  948) ,year="2003"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  949) ,number="US Patent 6,662,184"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  950) ,month="December"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  951) ,pages="112"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  952) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  953) 	Applies RCU to a wildcard-search Patricia tree in order to permit
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  954) 	synchronization-free lookup.  RCU is used to retain removed nodes
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  955) 	for a grace period before freeing them.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  956) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  957) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  958) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  959) @article{McKenney04a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  960) ,author="Paul E. McKenney and Dipankar Sarma and Maneesh Soni"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  961) ,title="Scaling dcache with {RCU}"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  962) ,Year="2004"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  963) ,Month="January"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  964) ,journal="Linux Journal"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  965) ,volume="1"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  966) ,number="118"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  967) ,pages="38-46"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  968) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  969) 	Reader friendly intro to dcache and RCU.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  970) 	http://www.linuxjournal.com/node/7124
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  971) 	[Viewed December 26, 2010]
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  972) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  973) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  974) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  975) @Conference{McKenney04b
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  976) ,Author="Paul E. McKenney"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  977) ,Title="{RCU} vs. Locking Performance on Different {CPUs}"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  978) ,Booktitle="{linux.conf.au}"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  979) ,Month="January"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  980) ,Year="2004"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  981) ,Address="Adelaide, Australia"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  982) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  983) \url{http://www.linux.org.au/conf/2004/abstracts.html#90}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  984) \url{http://www.rdrop.com/users/paulmck/RCU/lockperf.2004.01.17a.pdf}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  985) [Viewed June 23, 2004]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  986) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  987) 	Compares performance of RCU to that of other locking primitives
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  988) 	over a number of CPUs (x86, Opteron, Itanium, and PPC).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  989) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  990) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  991) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  992) @unpublished{Sarma04a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  993) ,Author="Dipankar Sarma"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  994) ,Title="{[PATCH]} {RCU} for low latency (experimental)"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  995) ,month="March"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  996) ,year="2004"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  997) ,note="\url{http://marc.theaimsgroup.com/?l=linux-kernel&m=108003746402892&w=2}"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  998) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  999) 	Head of thread: dipankar/2004.03.23/rcu-low-lat.1.patch
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1000) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1001) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1002) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1003) @unpublished{Sarma04b
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1004) ,Author="Dipankar Sarma"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1005) ,Title="Re: {[PATCH]} {RCU} for low latency (experimental)"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1006) ,month="March"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1007) ,year="2004"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1008) ,note="\url{http://marc.theaimsgroup.com/?l=linux-kernel&m=108016474829546&w=2}"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1009) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1010) 	dipankar/rcuth.2004.03.24/rcu-throttle.patch
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1011) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1012) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1013) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1014) @unpublished{Spraul04a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1015) ,Author="Manfred Spraul"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1016) ,Title="[RFC] 0/5 rcu lock update"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1017) ,month="May"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1018) ,year="2004"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1019) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1020) \url{http://marc.theaimsgroup.com/?l=linux-kernel&m=108546407726602&w=2}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1021) [Viewed June 23, 2004]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1022) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1023) 	Hierarchical-bitmap patch for RCU infrastructure.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1024) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1025) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1026) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1027) @unpublished{Steiner04a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1028) ,Author="Jack Steiner"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1029) ,Title="Re: [Lse-tech] [RFC, PATCH] 1/5 rcu lock update:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1030) Add per-cpu batch counter"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1031) ,month="May"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1032) ,year="2004"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1033) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1034) \url{http://marc.theaimsgroup.com/?l=linux-kernel&m=108551764515332&w=2}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1035) [Viewed June 23, 2004]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1036) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1037) 	RCU runs reasonably on a 512-CPU SGI using Manfred Spraul's patches,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1038) 	which may be found at:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1039) 	https://lkml.org/lkml/2004/5/20/49 (split vars into cachelines)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1040) 	https://lkml.org/lkml/2004/5/22/114 (cpu_quiet() patch)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1041) 	https://lkml.org/lkml/2004/5/25/24 (0/5)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1042) 	https://lkml.org/lkml/2004/5/25/23 (1/5)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1043) 		https://lkml.org/lkml/2004/5/25/265 (works for Jack)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1044) 	https://lkml.org/lkml/2004/5/25/20 (2/5)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1045) 	https://lkml.org/lkml/2004/5/25/22 (3/5)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1046) 	https://lkml.org/lkml/2004/5/25/19 (4/5)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1047) 	https://lkml.org/lkml/2004/5/25/21 (5/5)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1048) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1049) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1050) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1051) @Conference{Sarma04c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1052) ,Author="Dipankar Sarma and Paul E. McKenney"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1053) ,Title="Making {RCU} Safe for Deep Sub-Millisecond Response
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1054) Realtime Applications"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1055) ,Booktitle="Proceedings of the 2004 USENIX Annual Technical Conference
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1056) (FREENIX Track)"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1057) ,Publisher="USENIX Association"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1058) ,year="2004"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1059) ,month="June"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1060) ,pages="182-191"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1061) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1062) 	Describes and compares a number of modifications to the Linux RCU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1063) 	implementation that make it friendly to realtime applications.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1064) 	https://www.usenix.org/conference/2004-usenix-annual-technical-conference/making-rcu-safe-deep-sub-millisecond-response
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1065) 	[Viewed July 26, 2012]
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1066) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1067) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1068) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1069) @article{MagedMichael04a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1070) ,author="Maged M. Michael"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1071) ,title="Hazard Pointers: Safe Memory Reclamation for Lock-Free Objects"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1072) ,Year="2004"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1073) ,Month="June"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1074) ,journal="IEEE Transactions on Parallel and Distributed Systems"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1075) ,volume="15"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1076) ,number="6"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1077) ,pages="491-504"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1078) ,url="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1079) \url{http://www.research.ibm.com/people/m/michael/ieeetpds-2004.pdf}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1080) [Viewed March 1, 2005]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1081) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1082) 	New canonical hazard-pointer citation.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1083) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1084) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1085) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1086) @phdthesis{PaulEdwardMcKenneyPhD
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1087) ,author="Paul E. McKenney"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1088) ,title="Exploiting Deferred Destruction:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1089) An Analysis of Read-Copy-Update Techniques
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1090) in Operating System Kernels"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1091) ,school="OGI School of Science and Engineering at
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1092) Oregon Health and Sciences University"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1093) ,year="2004"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1094) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1095) 	Describes RCU implementations and presents design patterns
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1096) 	corresponding to common uses of RCU in several operating-system
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1097) 	kernels.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1098) 	http://www.rdrop.com/users/paulmck/RCU/RCUdissertation.2004.07.14e1.pdf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1099) 	[Viewed October 15, 2004]
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1100) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1101) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1102) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1103) @unpublished{PaulEMcKenney2004rcu:dereference
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1104) ,Author="Dipankar Sarma"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1105) ,Title="{Re: RCU : Abstracted RCU dereferencing [5/5]}"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1106) ,month="August"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1107) ,year="2004"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1108) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1109) \url{http://lkml.org/lkml/2004/8/6/237}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1110) [Viewed June 8, 2010]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1111) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1112) 	Introduce rcu_dereference().
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1113) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1114) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1115) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1116) @unpublished{JimHouston04a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1117) ,Author="Jim Houston"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1118) ,Title="{[RFC\&PATCH] Alternative {RCU} implementation}"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1119) ,month="August"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1120) ,year="2004"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1121) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1122) \url{http://lkml.org/lkml/2004/8/30/87}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1123) [Viewed February 17, 2005]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1124) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1125) 	Uses active code in rcu_read_lock() and rcu_read_unlock() to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1126) 	make RCU happen, allowing RCU to function on CPUs that do not
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1127) 	receive a scheduling-clock interrupt.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1128) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1129) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1130) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1131) @unpublished{TomHart04a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1132) ,Author="Thomas E. Hart"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1133) ,Title="Master's Thesis: Applying Lock-free Techniques to the {Linux} Kernel"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1134) ,month="October"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1135) ,year="2004"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1136) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1137) \url{http://www.cs.toronto.edu/~tomhart/masters_thesis.html}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1138) [Viewed October 15, 2004]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1139) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1140) 	Proposes comparing RCU to lock-free methods for the Linux kernel.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1141) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1142) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1143) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1144) @unpublished{Vaddagiri04a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1145) ,Author="Srivatsa Vaddagiri"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1146) ,Title="Subject: [RFC] Use RCU for tcp\_ehash lookup"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1147) ,month="October"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1148) ,year="2004"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1149) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1150) \url{http://marc.theaimsgroup.com/?t=109395731700004&r=1&w=2}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1151) [Viewed October 18, 2004]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1152) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1153) 	Srivatsa's RCU patch for tcp_ehash lookup.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1154) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1155) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1156) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1157) @unpublished{Thirumalai04a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1158) ,Author="Ravikiran Thirumalai"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1159) ,Title="Subject: [patchset] Lockfree fd lookup 0 of 5"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1160) ,month="October"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1161) ,year="2004"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1162) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1163) \url{http://marc.theaimsgroup.com/?t=109144217400003&r=1&w=2}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1164) [Viewed October 18, 2004]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1165) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1166) 	Ravikiran's lockfree FD patch.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1167) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1168) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1169) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1170) @unpublished{Thirumalai04b
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1171) ,Author="Ravikiran Thirumalai"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1172) ,Title="Subject: Re: [patchset] Lockfree fd lookup 0 of 5"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1173) ,month="October"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1174) ,year="2004"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1175) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1176) \url{http://marc.theaimsgroup.com/?l=linux-kernel&m=109152521410459&w=2}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1177) [Viewed October 18, 2004]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1178) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1179) 	Ravikiran's lockfree FD patch.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1180) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1181) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1182) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1183) @unpublished{PaulEMcKenney2004rcu:assign:pointer
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1184) ,Author="Paul E. McKenney"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1185) ,Title="{[PATCH 1/3] RCU: \url{rcu_assign_pointer()} removal of memory barriers}"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1186) ,month="October"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1187) ,year="2004"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1188) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1189) \url{http://lkml.org/lkml/2004/10/23/241}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1190) [Viewed June 8, 2010]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1191) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1192) 	Introduce rcu_assign_pointer().
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1193) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1194) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1195) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1196) @unpublished{JamesMorris04a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1197) ,Author="James Morris"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1198) ,Title="{[PATCH 2/3] SELinux} scalability - convert {AVC} to {RCU}"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1199) ,day="15"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1200) ,month="November"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1201) ,year="2004"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1202) ,note="\url{http://marc.theaimsgroup.com/?l=linux-kernel&m=110054979416004&w=2}"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1203) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1204) 	James Morris posts Kaigai Kohei's patch to LKML.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1205) 	[Viewed December 10, 2004]
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1206) 	Kaigai's patch is at https://lkml.org/lkml/2004/9/27/52
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1207) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1208) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1209) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1210) @unpublished{JamesMorris04b
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1211) ,Author="James Morris"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1212) ,Title="Recent Developments in {SELinux} Kernel Performance"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1213) ,month="December"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1214) ,year="2004"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1215) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1216) \url{http://www.livejournal.com/users/james_morris/2153.html}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1217) [Viewed December 10, 2004]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1218) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1219) 	RCU helps SELinux performance.  ;-)  Made LWN.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1220) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1221) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1222) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1223) @unpublished{PaulMcKenney2005RCUSemantics
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1224) ,Author="Paul E. McKenney and Jonathan Walpole"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1225) ,Title="{RCU} Semantics: A First Attempt"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1226) ,month="January"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1227) ,year="2005"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1228) ,day="30"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1229) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1230) \url{http://www.rdrop.com/users/paulmck/RCU/rcu-semantics.2005.01.30a.pdf}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1231) [Viewed December 6, 2009]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1232) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1233) 	Early derivation of RCU semantics.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1234) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1235) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1236) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1237) @unpublished{PaulMcKenney2005e
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1238) ,Author="Paul E. McKenney"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1239) ,Title="Real-Time Preemption and {RCU}"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1240) ,month="March"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1241) ,year="2005"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1242) ,day="17"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1243) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1244) \url{http://lkml.org/lkml/2005/3/17/199}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1245) [Viewed September 5, 2005]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1246) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1247) 	First posting showing how RCU can be safely adapted for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1248) 	preemptable RCU read side critical sections.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1249) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1250) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1251) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1252) @unpublished{EsbenNeilsen2005a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1253) ,Author="Esben Neilsen"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1254) ,Title="Re: Real-Time Preemption and {RCU}"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1255) ,month="March"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1256) ,year="2005"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1257) ,day="18"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1258) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1259) \url{http://lkml.org/lkml/2005/3/18/122}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1260) [Viewed March 30, 2006]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1261) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1262) 	Esben Neilsen suggests read-side suppression of grace-period
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1263) 	processing for crude-but-workable realtime RCU.  The downside
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1264) 	is indefinite grace periods...  But this is OK for experimentation
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1265) 	and testing.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1266) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1267) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1268) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1269) @unpublished{TomHart05a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1270) ,Author="Thomas E. Hart and Paul E. McKenney and Angela Demke Brown"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1271) ,Title="Efficient Memory Reclamation is Necessary for Fast Lock-Free
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1272) Data Structures"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1273) ,month="March"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1274) ,year="2005"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1275) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1276) \url{ftp://ftp.cs.toronto.edu/csrg-technical-reports/515/}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1277) [Viewed March 4, 2005]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1278) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1279) 	Comparison of RCU, QBSR, and EBSR.  RCU wins for read-mostly
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1280) 	workloads.  ;-)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1281) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1282) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1283) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1284) @unpublished{JonCorbet2005DeprecateSyncKernel
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1285) ,Author="Jonathan Corbet"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1286) ,Title="API change: synchronize_kernel() deprecated"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1287) ,month="May"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1288) ,day="3"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1289) ,year="2005"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1290) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1291) \url{http://lwn.net/Articles/134484/}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1292) [Viewed May 3, 2005]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1293) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1294) 	Jon Corbet describes deprecation of synchronize_kernel()
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1295) 	in favor of synchronize_rcu() and synchronize_sched().
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1296) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1297) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1298) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1299) @unpublished{PaulMcKenney05a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1300) ,Author="Paul E. McKenney"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1301) ,Title="{[RFC]} {RCU} and {CONFIG\_PREEMPT\_RT} progress"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1302) ,month="May"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1303) ,year="2005"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1304) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1305) \url{http://lkml.org/lkml/2005/5/9/185}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1306) [Viewed May 13, 2005]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1307) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1308) 	First publication of working lock-based deferred free patches
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1309) 	for the CONFIG_PREEMPT_RT environment.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1310) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1311) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1312) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1313) @conference{PaulMcKenney05b
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1314) ,Author="Paul E. McKenney and Dipankar Sarma"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1315) ,Title="Towards Hard Realtime Response from the {Linux} Kernel on {SMP} Hardware"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1316) ,Booktitle="linux.conf.au 2005"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1317) ,month="April"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1318) ,year="2005"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1319) ,address="Canberra, Australia"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1320) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1321) \url{http://www.rdrop.com/users/paulmck/RCU/realtimeRCU.2005.04.23a.pdf}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1322) [Viewed May 13, 2005]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1323) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1324) 	Realtime turns into making RCU yet more realtime friendly.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1325) 	http://lca2005.linux.org.au/Papers/Paul%20McKenney/Towards%20Hard%20Realtime%20Response%20from%20the%20Linux%20Kernel/LKS.2005.04.22a.pdf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1326) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1327) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1328) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1329) @unpublished{PaulEMcKenneyHomePage
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1330) ,Author="Paul E. McKenney"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1331) ,Title="{Paul} {E.} {McKenney}"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1332) ,month="May"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1333) ,year="2005"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1334) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1335) \url{http://www.rdrop.com/users/paulmck/}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1336) [Viewed May 25, 2005]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1337) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1338) 	Paul McKenney's home page.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1339) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1340) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1341) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1342) @unpublished{PaulEMcKenneyRCUPage
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1343) ,Author="Paul E. McKenney"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1344) ,Title="Read-Copy Update {(RCU)}"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1345) ,month="May"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1346) ,year="2005"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1347) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1348) \url{http://www.rdrop.com/users/paulmck/RCU}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1349) [Viewed May 25, 2005]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1350) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1351) 	Paul McKenney's RCU page.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1352) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1353) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1354) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1355) @unpublished{JosephSeigh2005a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1356) ,Author="Joseph Seigh"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1357) ,Title="{RCU}+{SMR} (hazard pointers)"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1358) ,month="July"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1359) ,year="2005"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1360) ,note="Personal communication"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1361) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1362) 	Joe Seigh announcing his atomic-ptr-plus project.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1363) 	http://sourceforge.net/projects/atomic-ptr-plus/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1364) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1365) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1366) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1367) @unpublished{JosephSeigh2005b
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1368) ,Author="Joseph Seigh"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1369) ,Title="Lock-free synchronization primitives"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1370) ,month="July"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1371) ,day="6"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1372) ,year="2005"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1373) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1374) \url{http://sourceforge.net/projects/atomic-ptr-plus/}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1375) [Viewed August 8, 2005]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1376) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1377) 	Joe Seigh's atomic-ptr-plus project.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1378) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1379) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1380) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1381) @unpublished{PaulMcKenney2005c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1382) ,Author="Paul E.McKenney"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1383) ,Title="{[RFC,PATCH] RCU} and {CONFIG\_PREEMPT\_RT} sane patch"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1384) ,month="August"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1385) ,day="1"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1386) ,year="2005"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1387) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1388) \url{http://lkml.org/lkml/2005/8/1/155}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1389) [Viewed March 14, 2006]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1390) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1391) 	First operating counter-based realtime RCU patch posted to LKML.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1392) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1393) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1394) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1395) @unpublished{PaulMcKenney2005d
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1396) ,Author="Paul E. McKenney"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1397) ,Title="Re: [Fwd: Re: [patch] Real-Time Preemption, -RT-2.6.13-rc4-V0.7.52-01]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1398) ,month="August"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1399) ,day="8"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1400) ,year="2005"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1401) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1402) \url{http://lkml.org/lkml/2005/8/8/108}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1403) [Viewed March 14, 2006]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1404) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1405) 	First operating counter-based realtime RCU patch posted to LKML,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1406) 	but fixed so that various unusual combinations of configuration
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1407) 	parameters all function properly.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1408) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1409) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1410) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1411) @unpublished{PaulMcKenney2005rcutorture
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1412) ,Author="Paul E. McKenney"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1413) ,Title="{[PATCH]} {RCU} torture testing"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1414) ,month="October"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1415) ,day="1"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1416) ,year="2005"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1417) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1418) \url{http://lkml.org/lkml/2005/10/1/70}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1419) [Viewed March 14, 2006]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1420) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1421) 	First rcutorture patch.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1422) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1423) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1424) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1425) @unpublished{DavidSMiller2006HashedLocking
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1426) ,Author="David S. Miller"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1427) ,Title="Re: [{PATCH}, {RFC}] {RCU} : {OOM} avoidance and lower latency"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1428) ,month="January"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1429) ,day="6"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1430) ,year="2006"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1431) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1432) \url{https://lkml.org/lkml/2006/1/7/22}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1433) [Viewed February 29, 2012]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1434) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1435) 	David Miller's view on hashed arrays of locks: used to really
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1436) 	like it, but time he saw an opportunity for this technique,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1437) 	something else always proved superior.  Partitioning or RCU.  ;-)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1438) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1439) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1440) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1441) @conference{ThomasEHart2006a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1442) ,Author="Thomas E. Hart and Paul E. McKenney and Angela Demke Brown"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1443) ,Title="Making Lockless Synchronization Fast: Performance Implications
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1444) of Memory Reclamation"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1445) ,Booktitle="20\textsuperscript{th} {IEEE} International Parallel and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1446) Distributed Processing Symposium"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1447) ,month="April"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1448) ,year="2006"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1449) ,day="25-29"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1450) ,address="Rhodes, Greece"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1451) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1452) \url{http://www.rdrop.com/users/paulmck/RCU/hart_ipdps06.pdf}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1453) [Viewed April 28, 2008]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1454) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1455) 	Compares QSBR, HPBR, EBR, and lock-free reference counting.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1456) 	http://www.cs.toronto.edu/~tomhart/perflab/ipdps06.tgz
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1457) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1458) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1459) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1460) @unpublished{NickPiggin2006radixtree
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1461) ,Author="Nick Piggin"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1462) ,Title="[patch 3/3] radix-tree: {RCU} lockless readside"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1463) ,month="June"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1464) ,day="20"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1465) ,year="2006"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1466) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1467) \url{http://lkml.org/lkml/2006/6/20/238}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1468) [Viewed March 25, 2008]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1469) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1470) 	RCU-protected radix tree.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1471) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1472) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1473) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1474) @Conference{PaulEMcKenney2006b
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1475) ,Author="Paul E. McKenney and Dipankar Sarma and Ingo Molnar and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1476) Suparna Bhattacharya"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1477) ,Title="Extending {RCU} for Realtime and Embedded Workloads"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1478) ,Booktitle="{Ottawa Linux Symposium}"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1479) ,Month="July"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1480) ,Year="2006"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1481) ,pages="v2 123-138"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1482) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1483) \url{http://www.linuxsymposium.org/2006/view_abstract.php?content_key=184}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1484) \url{http://www.rdrop.com/users/paulmck/RCU/OLSrtRCU.2006.08.11a.pdf}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1485) [Viewed January 1, 2007]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1486) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1487) 	Described how to improve the -rt implementation of realtime RCU.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1488) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1489) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1490) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1491) @unpublished{WikipediaRCU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1492) ,Author="Paul E. McKenney and Chris Purcell and Algae and Ben Schumin and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1493) Gaius Cornelius and Qwertyus and Neil Conway and Sbw and Blainster and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1494) Canis Rufus and Zoicon5 and Anome and Hal Eisen"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1495) ,Title="Read-Copy Update"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1496) ,month="July"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1497) ,day="8"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1498) ,year="2006"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1499) ,note="\url{https://en.wikipedia.org/wiki/Read-copy-update}"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1500) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1501) 	Wikipedia RCU page as of July 8 2006.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1502) 	[Viewed August 21, 2006]
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1503) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1504) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1505) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1506) @Conference{NickPiggin2006LocklessPageCache
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1507) ,Author="Nick Piggin"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1508) ,Title="A Lockless Pagecache in Linux---Introduction, Progress, Performance"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1509) ,Booktitle="{Ottawa Linux Symposium}"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1510) ,Month="July"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1511) ,Year="2006"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1512) ,pages="v2 249-254"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1513) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1514) \url{http://www.linuxsymposium.org/2006/view_abstract.php?content_key=184}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1515) [Viewed January 11, 2009]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1516) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1517) 	Uses RCU-protected radix tree for a lockless page cache.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1518) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1519) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1520) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1521) @unpublished{PaulEMcKenney2006c
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1522) ,Author="Paul E. McKenney"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1523) ,Title="Sleepable {RCU}"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1524) ,month="October"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1525) ,day="9"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1526) ,year="2006"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1527) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1528) \url{http://lwn.net/Articles/202847/}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1529) Revised:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1530) \url{http://www.rdrop.com/users/paulmck/RCU/srcu.2007.01.14a.pdf}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1531) [Viewed August 21, 2006]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1532) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1533) 	LWN article introducing SRCU.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1534) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1535) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1536) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1537) @unpublished{RobertOlsson2006a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1538) ,Author="Robert Olsson and Stefan Nilsson"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1539) ,Title="{TRASH}: A dynamic {LC}-trie and hash data structure"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1540) ,month="August"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1541) ,day="18"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1542) ,year="2006"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1543) ,note="\url{http://www.nada.kth.se/~snilsson/publications/TRASH/trash.pdf}"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1544) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1545) 	RCU-protected dynamic trie-hash combination.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1546) 	[Viewed March 4, 2011]
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1547) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1548) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1549) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1550) @unpublished{ChristophHellwig2006RCU2SRCU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1551) ,Author="Christoph Hellwig"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1552) ,Title="Re: {[-mm PATCH 1/4]} {RCU}: split classic rcu"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1553) ,month="September"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1554) ,day="28"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1555) ,year="2006"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1556) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1557) \url{http://lkml.org/lkml/2006/9/28/160}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1558) [Viewed March 27, 2008]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1559) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1560) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1561) @unpublished{PaulEMcKenneyRCUusagePage
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1562) ,Author="Paul E. McKenney"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1563) ,Title="{RCU} {Linux} Usage"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1564) ,month="October"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1565) ,year="2006"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1566) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1567) \url{http://www.rdrop.com/users/paulmck/RCU/linuxusage.html}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1568) [Viewed January 14, 2007]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1569) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1570) 	Paul McKenney's RCU page showing graphs plotting Linux-kernel
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1571) 	usage of RCU.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1572) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1573) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1574) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1575) @unpublished{PaulEMcKenneyRCUusageRawDataPage
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1576) ,Author="Paul E. McKenney"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1577) ,Title="Read-Copy Update {(RCU)} Usage in {Linux} Kernel"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1578) ,month="October"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1579) ,year="2006"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1580) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1581) \url{http://www.rdrop.com/users/paulmck/RCU/linuxusage/rculocktab.html}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1582) [Viewed January 14, 2007]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1583) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1584) 	Paul McKenney's RCU page showing Linux usage of RCU in tabular
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1585) 	form, with links to corresponding cscope databases.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1586) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1587) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1588) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1589) @unpublished{GauthamShenoy2006RCUrwlock
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1590) ,Author="Gautham R. Shenoy"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1591) ,Title="[PATCH 4/5] lock\_cpu\_hotplug: Redesign - Lightweight implementation of lock\_cpu\_hotplug"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1592) ,month="October"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1593) ,year="2006"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1594) ,day=26
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1595) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1596) \url{http://lkml.org/lkml/2006/10/26/73}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1597) [Viewed January 26, 2009]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1598) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1599) 	RCU-based reader-writer lock that allows readers to proceed with
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1600) 	no memory barriers or atomic instruction in absence of writers.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1601) 	If writer do show up, readers must of course wait as required by
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1602) 	the semantics of reader-writer locking.  This is a recursive
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1603) 	lock.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1604) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1605) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1606) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1607) @unpublished{JensAxboe2006SlowSRCU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1608) ,Author="Jens Axboe"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1609) ,Title="Re: [patch] cpufreq: mark \url{cpufreq_tsc()} as
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1610) \url{core_initcall_sync}"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1611) ,month="November"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1612) ,year="2006"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1613) ,day=17
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1614) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1615) \url{http://lkml.org/lkml/2006/11/17/56}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1616) [Viewed May 28, 2007]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1617) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1618) 	SRCU's grace periods are too slow for Jens, even after a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1619) 	factor-of-three speedup.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1620) 	Sped-up version of SRCU at http://lkml.org/lkml/2006/11/17/359.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1621) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1622) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1623) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1624) @unpublished{OlegNesterov2006QRCU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1625) ,Author="Oleg Nesterov"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1626) ,Title="Re: [patch] cpufreq: mark {\tt cpufreq\_tsc()} as
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1627) {\tt core\_initcall\_sync}"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1628) ,month="November"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1629) ,year="2006"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1630) ,day=19
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1631) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1632) \url{http://lkml.org/lkml/2006/11/19/69}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1633) [Viewed May 28, 2007]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1634) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1635) 	First cut of QRCU.  Expanded/corrected versions followed.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1636) 	Used to be OlegNesterov2007QRCU, now time-corrected.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1637) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1638) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1639) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1640) @unpublished{OlegNesterov2006aQRCU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1641) ,Author="Oleg Nesterov"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1642) ,Title="Re: [RFC, PATCH 1/2] qrcu: {"quick"} srcu implementation"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1643) ,month="November"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1644) ,year="2006"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1645) ,day=30
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1646) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1647) \url{http://lkml.org/lkml/2006/11/29/330}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1648) [Viewed November 26, 2008]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1649) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1650) 	Expanded/corrected version of QRCU.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1651) 	Used to be OlegNesterov2007aQRCU, now time-corrected.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1652) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1653) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1654) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1655) @unpublished{EvgeniyPolyakov2006RCUslowdown
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1656) ,Author="Evgeniy Polyakov"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1657) ,Title="Badness in postponing work"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1658) ,month="December"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1659) ,year="2006"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1660) ,day=05
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1661) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1662) \url{http://www.ioremap.net/node/41}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1663) [Viewed October 28, 2008]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1664) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1665) 	Using RCU as a pure delay leads to a 2.5x slowdown in skbs in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1666) 	the Linux kernel.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1667) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1668) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1669) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1670) @inproceedings{ChrisMatthews2006ClusteredObjectsRCU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1671) ,author = {Matthews, Chris and Coady, Yvonne and Appavoo, Jonathan}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1672) ,title = {Portability events: a programming model for scalable system infrastructures}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1673) ,booktitle = {PLOS '06: Proceedings of the 3rd workshop on Programming languages and operating systems}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1674) ,year = {2006}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1675) ,isbn = {1-59593-577-0}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1676) ,pages = {11}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1677) ,location = {San Jose, California}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1678) ,doi = {http://doi.acm.org/10.1145/1215995.1216006}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1679) ,publisher = {ACM}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1680) ,address = {New York, NY, USA}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1681) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1682) 	Uses K42's RCU-like functionality to manage clustered-object
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1683) 	lifetimes.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1684) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1685) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1686) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1687) @article{DilmaDaSilva2006K42
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1688) ,author = {Silva, Dilma Da and Krieger, Orran and Wisniewski, Robert W. and Waterland, Amos and Tam, David and Baumann, Andrew}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1689) ,title = {K42: an infrastructure for operating system research}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1690) ,journal = {SIGOPS Oper. Syst. Rev.}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1691) ,volume = {40}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1692) ,number = {2}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1693) ,year = {2006}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1694) ,issn = {0163-5980}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1695) ,pages = {34--42}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1696) ,doi = {http://doi.acm.org/10.1145/1131322.1131333}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1697) ,publisher = {ACM}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1698) ,address = {New York, NY, USA}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1699) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1700) 	Describes relationship of K42 generations to RCU.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1701) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1702) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1703) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1704) # CoreyMinyard2007list_splice_rcu
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1705) @unpublished{CoreyMinyard2007list:splice:rcu
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1706) ,Author="Corey Minyard and Paul E. McKenney"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1707) ,Title="{[PATCH]} add an {RCU} version of list splicing"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1708) ,month="January"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1709) ,year="2007"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1710) ,day=3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1711) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1712) \url{http://lkml.org/lkml/2007/1/3/112}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1713) [Viewed May 28, 2007]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1714) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1715) 	Patch for list_splice_rcu().
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1716) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1717) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1718) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1719) @unpublished{PaulEMcKenney2007rcubarrier
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1720) ,Author="Paul E. McKenney"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1721) ,Title="{RCU} and Unloadable Modules"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1722) ,month="January"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1723) ,day="14"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1724) ,year="2007"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1725) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1726) \url{http://lwn.net/Articles/217484/}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1727) [Viewed November 22, 2007]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1728) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1729) 	LWN article introducing the rcu_barrier() primitive.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1730) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1731) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1732) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1733) @unpublished{PeterZijlstra2007SyncBarrier
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1734) ,Author="Peter Zijlstra and Ingo Molnar"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1735) ,Title="{[PATCH 3/7]} barrier: a scalable synchonisation barrier"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1736) ,month="January"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1737) ,year="2007"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1738) ,day=28
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1739) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1740) \url{http://lkml.org/lkml/2007/1/28/34}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1741) [Viewed March 27, 2008]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1742) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1743) 	RCU-like implementation for frequent updaters and rare readers(!).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1744) 	Subsumed into QRCU.  Maybe...
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1745) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1746) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1747) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1748) @unpublished{PaulEMcKenney2007BoostRCU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1749) ,Author="Paul E. McKenney"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1750) ,Title="Priority-Boosting {RCU} Read-Side Critical Sections"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1751) ,month="February"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1752) ,day="5"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1753) ,year="2007"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1754) ,note="\url{http://lwn.net/Articles/220677/}"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1755) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1756) 	LWN article introducing RCU priority boosting.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1757) 	Revised:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1758) 	http://www.rdrop.com/users/paulmck/RCU/RCUbooststate.2007.04.16a.pdf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1759) 	[Viewed September 7, 2007]
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1760) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1761) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1762) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1763) @unpublished{PaulMcKenney2007QRCUpatch
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1764) ,Author="Paul E. McKenney"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1765) ,Title="{[PATCH]} {QRCU} with lockless fastpath"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1766) ,month="February"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1767) ,year="2007"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1768) ,day=24
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1769) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1770) \url{http://lkml.org/lkml/2007/2/25/18}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1771) [Viewed March 27, 2008]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1772) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1773) 	Patch for QRCU supplying lock-free fast path.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1774) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1775) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1776) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1777) @article{JonathanAppavoo2007K42RCU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1778) ,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}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1779) ,title = {Experience distributing objects in an SMMP OS}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1780) ,journal = {ACM Trans. Comput. Syst.}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1781) ,volume = {25}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1782) ,number = {3}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1783) ,year = {2007}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1784) ,issn = {0734-2071}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1785) ,pages = {6/1--6/52}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1786) ,doi = {http://doi.acm.org/10.1145/1275517.1275518}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1787) ,publisher = {ACM}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1788) ,address = {New York, NY, USA}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1789) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1790) 	Role of RCU in K42.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1791) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1792) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1793) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1794) @conference{RobertOlsson2007Trash
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1795) ,Author="Robert Olsson and Stefan Nilsson"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1796) ,Title="{TRASH}: A dynamic {LC}-trie and hash data structure"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1797) ,booktitle="Workshop on High Performance Switching and Routing (HPSR'07)"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1798) ,month="May"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1799) ,year="2007"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1800) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1801) \url{http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=4281239}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1802) [Viewed October 1, 2010]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1803) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1804) 	RCU-protected dynamic trie-hash combination.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1805) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1806) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1807) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1808) @conference{PeterZijlstra2007ConcurrentPagecacheRCU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1809) ,Author="Peter Zijlstra"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1810) ,Title="Concurrent Pagecache"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1811) ,Booktitle="Linux Symposium"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1812) ,month="June"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1813) ,year="2007"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1814) ,address="Ottawa, Canada"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1815) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1816) \url{http://ols.108.redhat.com/2007/Reprints/zijlstra-Reprint.pdf}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1817) [Viewed April 14, 2008]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1818) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1819) 	Page-cache modifications permitting RCU readers and concurrent
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1820) 	updates.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1821) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1822) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1823) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1824) @unpublished{PaulEMcKenney2007whatisRCU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1825) ,Author="Paul E. McKenney"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1826) ,Title="What is {RCU}?"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1827) ,year="2007"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1828) ,month="07"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1829) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1830) \url{http://www.rdrop.com/users/paulmck/RCU/whatisRCU.html}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1831) [Viewed July 6, 2007]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1832) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1833) 	Describes RCU in Linux kernel.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1834) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1835) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1836) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1837) @unpublished{PaulEMcKenney2007QRCUspin
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1838) ,Author="Paul E. McKenney"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1839) ,Title="Using {Promela} and {Spin} to verify parallel algorithms"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1840) ,month="August"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1841) ,day="1"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1842) ,year="2007"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1843) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1844) \url{http://lwn.net/Articles/243851/}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1845) [Viewed September 8, 2007]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1846) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1847) 	LWN article describing Promela and spin, and also using Oleg
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1848) 	Nesterov's QRCU as an example (with Paul McKenney's fastpath).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1849) 	Merged patch at: http://lkml.org/lkml/2007/2/25/18
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1850) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1851) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1852) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1853) @unpublished{PaulEMcKenney2007WG21DDOatomics
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1854) ,Author="Paul E. McKenney and Hans-J. Boehm and Lawrence Crowl"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1855) ,Title="C++ Data-Dependency Ordering: Atomics and Memory Model"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1856) ,month="August"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1857) ,day="3"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1858) ,year="2007"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1859) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1860) \url{http://open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2664.htm}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1861) [Viewed December 7, 2009]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1862) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1863) 	RCU for C++, parts 1 and 2.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1864) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1865) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1866) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1867) @unpublished{PaulEMcKenney2007WG21DDOannotation
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1868) ,Author="Paul E. McKenney and Lawrence Crowl"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1869) ,Title="C++ Data-Dependency Ordering: Function Annotation"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1870) ,month="September"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1871) ,day="18"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1872) ,year="2008"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1873) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1874) \url{http://open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2782.htm}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1875) [Viewed December 7, 2009]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1876) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1877) 	RCU for C++, part 2, updated many times.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1878) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1879) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1880) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1881) @unpublished{PaulEMcKenney2007PreemptibleRCUPatch
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1882) ,Author="Paul E. McKenney"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1883) ,Title="[PATCH RFC 0/9] {RCU}: Preemptible {RCU}"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1884) ,month="September"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1885) ,day="10"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1886) ,year="2007"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1887) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1888) \url{http://lkml.org/lkml/2007/9/10/213}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1889) [Viewed October 25, 2007]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1890) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1891) 	Final patch for preemptable RCU to -rt.  (Later patches were
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1892) 	to mainline, eventually incorporated.)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1893) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1894) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1895) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1896) @unpublished{PaulEMcKenney2007PreemptibleRCU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1897) ,Author="Paul E. McKenney"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1898) ,Title="The design of preemptible read-copy-update"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1899) ,month="October"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1900) ,day="8"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1901) ,year="2007"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1902) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1903) \url{http://lwn.net/Articles/253651/}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1904) [Viewed October 25, 2007]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1905) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1906) 	LWN article describing the design of preemptible RCU.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1907) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1908) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1909) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1910) @article{ThomasEHart2007a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1911) ,Author="Thomas E. Hart and Paul E. McKenney and Angela Demke Brown and Jonathan Walpole"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1912) ,Title="Performance of memory reclamation for lockless synchronization"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1913) ,journal="J. Parallel Distrib. Comput."
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1914) ,volume={67}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1915) ,number="12"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1916) ,year="2007"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1917) ,issn="0743-7315"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1918) ,pages="1270--1285"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1919) ,doi="http://dx.doi.org/10.1016/j.jpdc.2007.04.010"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1920) ,publisher="Academic Press, Inc."
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1921) ,address="Orlando, FL, USA"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1922) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1923) 	Compares QSBR, HPBR, EBR, and lock-free reference counting.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1924) 	Journal version of ThomasEHart2006a.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1925) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1926) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1927) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1928) # MathieuDesnoyers2007call_rcu_schedNeeded
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1929) @unpublished{MathieuDesnoyers2007call:rcu:schedNeeded
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1930) ,Author="Mathieu Desnoyers"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1931) ,Title="Re: [patch 1/2] {Linux} Kernel Markers - Support Multiple Probes"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1932) ,month="December"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1933) ,day="20"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1934) ,year="2007"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1935) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1936) \url{http://lkml.org/lkml/2007/12/20/244}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1937) [Viewed March 27, 2008]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1938) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1939) 	Request for call_rcu_sched() and rcu_barrier_sched().
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1940) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1941) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1942) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1943) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1944) ########################################################################
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1945) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1946) #	"What is RCU?" LWN series.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1947) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1948) #	http://lwn.net/Articles/262464/ (What is RCU, Fundamentally?)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1949) #	http://lwn.net/Articles/263130/ (What is RCU's Usage?)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1950) #	http://lwn.net/Articles/264090/ (What is RCU's API?)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1951) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1952) @unpublished{PaulEMcKenney2007WhatIsRCUFundamentally
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1953) ,Author="Paul E. McKenney and Jonathan Walpole"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1954) ,Title="What is {RCU}, Fundamentally?"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1955) ,month="December"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1956) ,day="17"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1957) ,year="2007"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1958) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1959) \url{http://lwn.net/Articles/262464/}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1960) [Viewed December 27, 2007]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1961) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1962) 	Lays out the three basic components of RCU: (1) publish-subscribe,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1963) 	(2) wait for pre-existing readers to complete, and (2) maintain
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1964) 	multiple versions.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1965) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1966) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1967) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1968) @unpublished{PaulEMcKenney2008WhatIsRCUUsage
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1969) ,Author="Paul E. McKenney"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1970) ,Title="What is {RCU}? Part 2: Usage"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1971) ,month="January"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1972) ,day="4"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1973) ,year="2008"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1974) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1975) \url{http://lwn.net/Articles/263130/}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1976) [Viewed January 4, 2008]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1977) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1978) 	Lays out six uses of RCU:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1979) 	1. RCU is a Reader-Writer Lock Replacement
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1980) 	2. RCU is a Restricted Reference-Counting Mechanism
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1981) 	3. RCU is a Bulk Reference-Counting Mechanism
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1982) 	4. RCU is a Poor Man's Garbage Collector
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1983) 	5. RCU is a Way of Providing Existence Guarantees
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1984) 	6. RCU is a Way of Waiting for Things to Finish
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1985) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1986) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1987) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1988) @unpublished{PaulEMcKenney2008WhatIsRCUAPI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1989) ,Author="Paul E. McKenney"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1990) ,Title="{RCU} part 3: the {RCU} {API}"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1991) ,month="January"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1992) ,day="17"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1993) ,year="2008"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1994) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1995) \url{http://lwn.net/Articles/264090/}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1996) [Viewed January 10, 2008]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1997) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1998) 	Gives an overview of the Linux-kernel RCU API and a brief annotated RCU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1999) 	bibliography.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2000) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2001) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2002) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2003) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2004) #	"What is RCU?" LWN series.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2005) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2006) ########################################################################
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2007) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2008) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2009) @unpublished{SteveRostedt2008dyntickRCUpatch
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2010) ,Author="Steven Rostedt and Paul E. McKenney"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2011) ,Title="{[PATCH]} add support for dynamic ticks and preempt rcu"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2012) ,month="January"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2013) ,day="29"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2014) ,year="2008"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2015) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2016) \url{http://lkml.org/lkml/2008/1/29/208}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2017) [Viewed March 27, 2008]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2018) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2019) 	Patch that prevents preemptible RCU from unnecessarily waking
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2020) 	up dynticks-idle CPUs.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2021) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2022) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2023) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2024) @unpublished{PaulEMcKenney2008LKMLDependencyOrdering
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2025) ,Author="Paul E. McKenney"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2026) ,Title="Re: [PATCH 02/22 -v7] Add basic support for gcc profiler instrumentation"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2027) ,month="February"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2028) ,day="1"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2029) ,year="2008"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2030) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2031) \url{http://lkml.org/lkml/2008/2/2/255}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2032) [Viewed October 18, 2008]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2033) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2034) 	Explanation of compilers violating dependency ordering.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2035) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2036) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2037) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2038) @Conference{PaulEMcKenney2008Beijing
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2039) ,Author="Paul E. McKenney"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2040) ,Title="Introducing Technology Into {Linux} Or:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2041) Introducing your technology Into {Linux} will require introducing a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2042) lot of {Linux} into your technology!!!"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2043) ,Booktitle="2008 Linux Developer Symposium - China"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2044) ,Publisher="OSS China"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2045) ,Month="February"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2046) ,Year="2008"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2047) ,Address="Beijing, China"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2048) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2049) \url{http://www.rdrop.com/users/paulmck/RCU/TechIntroLinux.2008.02.19a.pdf}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2050) [Viewed August 12, 2008]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2051) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2052) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2053) @unpublished{PaulEMcKenney2008dynticksRCU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2054) ,Author="Paul E. McKenney and Steven Rostedt"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2055) ,Title="Integrating and Validating dynticks and Preemptable RCU"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2056) ,month="April"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2057) ,day="24"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2058) ,year="2008"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2059) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2060) \url{http://lwn.net/Articles/279077/}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2061) [Viewed April 24, 2008]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2062) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2063) 	Describes use of Promela and Spin to validate (and fix!) the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2064) 	dynticks/RCU interface.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2065) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2066) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2067) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2068) @article{DinakarGuniguntala2008IBMSysJ
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2069) ,author="D. Guniguntala and P. E. McKenney and J. Triplett and J. Walpole"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2070) ,title="The read-copy-update mechanism for supporting real-time applications on shared-memory multiprocessor systems with {Linux}"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2071) ,Year="2008"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2072) ,Month="May"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2073) ,journal="IBM Systems Journal"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2074) ,volume="47"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2075) ,number="2"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2076) ,pages="221-236"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2077) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2078) 	RCU, realtime RCU, sleepable RCU, performance.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2079) 	http://www.research.ibm.com/journal/sj/472/guniguntala.pdf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2080) 	[Viewed April 24, 2008]
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2081) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2082) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2083) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2084) @unpublished{LaiJiangshan2008NewClassicAlgorithm
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2085) ,Author="Lai Jiangshan"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2086) ,Title="[{RFC}][{PATCH}] rcu classic: new algorithm for callbacks-processing"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2087) ,month="June"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2088) ,day="3"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2089) ,year="2008"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2090) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2091) \url{http://lkml.org/lkml/2008/6/2/539}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2092) [Viewed December 10, 2008]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2093) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2094) 	Updated RCU classic algorithm.  Introduced multi-tailed list
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2095) 	for RCU callbacks and also pulling common code into
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2096) 	__call_rcu().
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2097) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2098) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2099) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2100) @article{PaulEMcKenney2008RCUOSR
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2101) ,author="Paul E. McKenney and Jonathan Walpole"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2102) ,title="Introducing technology into the {Linux} kernel: a case study"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2103) ,Year="2008"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2104) ,journal="SIGOPS Oper. Syst. Rev."
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2105) ,volume="42"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2106) ,number="5"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2107) ,pages="4--17"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2108) ,issn="0163-5980"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2109) ,doi={http://doi.acm.org/10.1145/1400097.1400099}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2110) ,publisher="ACM"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2111) ,address="New York, NY, USA"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2112) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2113) 	Linux changed RCU to a far greater degree than RCU has changed Linux.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2114) 	http://portal.acm.org/citation.cfm?doid=1400097.1400099
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2115) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2116) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2117) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2118) @unpublished{ManfredSpraul2008StateMachineRCU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2119) ,Author="Manfred Spraul"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2120) ,Title="[{RFC}, {PATCH}] state machine based rcu"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2121) ,month="August"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2122) ,day="21"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2123) ,year="2008"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2124) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2125) \url{http://lkml.org/lkml/2008/8/21/336}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2126) [Viewed December 8, 2008]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2127) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2128) 	State-based RCU.  One key thing that this patch does is to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2129) 	separate the dynticks handling of NMIs and IRQs.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2130) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2131) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2132) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2133) @unpublished{ManfredSpraul2008dyntickIRQNMI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2134) ,Author="Manfred Spraul"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2135) ,Title="Re: [{RFC}, {PATCH}] v4 scalable classic {RCU} implementation"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2136) ,month="September"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2137) ,day="6"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2138) ,year="2008"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2139) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2140) \url{http://lkml.org/lkml/2008/9/6/86}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2141) [Viewed December 8, 2008]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2142) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2143) 	Manfred notes a fix required to my attempt to separate irq
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2144) 	and NMI processing for hierarchical RCU's dynticks interface.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2145) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2146) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2147) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2148) # Was PaulEMcKenney2011cyclicRCU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2149) @techreport{PaulEMcKenney2008cyclicRCU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2150) ,author="Paul E. McKenney"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2151) ,title="Efficient Support of Consistent Cyclic Search With Read-Copy Update"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2152) ,institution="US Patent and Trademark Office"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2153) ,address="Washington, DC"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2154) ,year="2008"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2155) ,number="US Patent 7,426,511"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2156) ,month="September"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2157) ,pages="23"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2158) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2159) 	Maintains an additional level of indirection to allow
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2160) 	readers to confine themselves to the desired snapshot of the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2161) 	data structure.  Only permits one update at a time.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2162) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2163) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2164) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2165) @unpublished{PaulEMcKenney2008HierarchicalRCU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2166) ,Author="Paul E. McKenney"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2167) ,Title="Hierarchical {RCU}"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2168) ,month="November"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2169) ,day="3"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2170) ,year="2008"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2171) ,note="\url{http://lwn.net/Articles/305782/}"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2172) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2173) 	RCU with combining-tree-based grace-period detection,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2174) 	permitting it to handle thousands of CPUs.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2175) 	[Viewed November 6, 2008]
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2176) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2177) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2178) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2179) @unpublished{PaulEMcKenney2009BloatwatchRCU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2180) ,Author="Paul E. McKenney"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2181) ,Title="Re: [PATCH fyi] RCU: the bloatwatch edition"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2182) ,month="January"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2183) ,day="14"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2184) ,year="2009"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2185) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2186) \url{http://lkml.org/lkml/2009/1/14/449}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2187) [Viewed January 15, 2009]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2188) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2189) 	Small-footprint implementation of RCU for uniprocessor
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2190) 	embedded applications -- and also for exposition purposes.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2191) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2192) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2193) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2194) @conference{PaulEMcKenney2009MaliciousURCU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2195) ,Author="Paul E. McKenney"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2196) ,Title="Using a Malicious User-Level {RCU} to Torture {RCU}-Based Algorithms"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2197) ,Booktitle="linux.conf.au 2009"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2198) ,month="January"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2199) ,year="2009"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2200) ,address="Hobart, Australia"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2201) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2202) \url{http://www.rdrop.com/users/paulmck/RCU/urcutorture.2009.01.22a.pdf}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2203) [Viewed February 2, 2009]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2204) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2205) 	Realtime RCU and torture-testing RCU uses.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2206) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2207) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2208) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2209) @unpublished{MathieuDesnoyers2009URCU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2210) ,Author="Mathieu Desnoyers"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2211) ,Title="[{RFC} git tree] Userspace {RCU} (urcu) for {Linux}"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2212) ,month="February"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2213) ,day="5"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2214) ,year="2009"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2215) ,note="\url{http://lttng.org/urcu}"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2216) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2217) 	Mathieu Desnoyers's user-space RCU implementation.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2218) 	git://lttng.org/userspace-rcu.git
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2219) 	http://lttng.org/cgi-bin/gitweb.cgi?p=userspace-rcu.git
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2220) 	http://lttng.org/urcu
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2221) 	http://lkml.org/lkml/2009/2/5/572
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2222) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2223) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2224) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2225) @unpublished{PaulEMcKenney2009LWNBloatWatchRCU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2226) ,Author="Paul E. McKenney"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2227) ,Title="{RCU}: The {Bloatwatch} Edition"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2228) ,month="March"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2229) ,day="17"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2230) ,year="2009"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2231) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2232) \url{http://lwn.net/Articles/323929/}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2233) [Viewed March 20, 2009]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2234) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2235) 	Uniprocessor assumptions allow simplified RCU implementation.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2236) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2237) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2238) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2239) @unpublished{EvgeniyPolyakov2009EllipticsNetwork
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2240) ,Author="Evgeniy Polyakov"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2241) ,Title="The Elliptics Network"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2242) ,month="April"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2243) ,day="17"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2244) ,year="2009"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2245) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2246) \url{http://www.ioremap.net/projects/elliptics}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2247) [Viewed April 30, 2009]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2248) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2249) 	Distributed hash table with transactions, using elliptic
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2250) 	hash functions to distribute data.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2251) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2252) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2253) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2254) @unpublished{PaulEMcKenney2009expeditedRCU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2255) ,Author="Paul E. McKenney"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2256) ,Title="[{PATCH} -tip 0/3] expedited 'big hammer' {RCU} grace periods"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2257) ,month="June"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2258) ,day="25"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2259) ,year="2009"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2260) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2261) \url{http://lkml.org/lkml/2009/6/25/306}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2262) [Viewed August 16, 2009]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2263) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2264) 	First posting of expedited RCU to be accepted into -tip.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2265) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2266) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2267) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2268) @unpublished{PaulEMcKenney2009fastRTRCU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2269) ,Author="Paul E. McKenney"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2270) ,Title="[{PATCH} {RFC} -tip 0/4] {RCU} cleanups and simplified preemptable {RCU}"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2271) ,month="July"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2272) ,day="23"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2273) ,year="2009"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2274) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2275) \url{http://lkml.org/lkml/2009/7/23/294}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2276) [Viewed August 15, 2009]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2277) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2278) 	First posting of simple and fast preemptable RCU.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2279) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2280) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2281) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2282) @unpublished{JoshTriplett2009RPHash
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2283) ,Author="Josh Triplett"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2284) ,Title="Scalable concurrent hash tables via relativistic programming"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2285) ,month="September"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2286) ,year="2009"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2287) ,note="Linux Plumbers Conference presentation"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2288) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2289) 	RP fun with hash tables.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2290) 	Superseded by JoshTriplett2010RPHash
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2291) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2292) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2293) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2294) @phdthesis{MathieuDesnoyersPhD
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2295) , title  = "Low-Impact Operating System Tracing"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2296) , author = "Mathieu Desnoyers"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2297) , school = "Ecole Polytechnique de Montr\'{e}al"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2298) , month  = "December"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2299) , year   = 2009
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2300) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2301) \url{http://www.lttng.org/pub/thesis/desnoyers-dissertation-2009-12.pdf}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2302) [Viewed December 9, 2009]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2303) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2304) 	Chapter 6 (page 97) covers user-level RCU.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2305) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2306) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2307) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2308) @unpublished{RelativisticProgrammingWiki
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2309) ,Author="Josh Triplett and Paul E. McKenney and Jonathan Walpole"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2310) ,Title="Relativistic Programming"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2311) ,month="September"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2312) ,year="2009"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2313) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2314) \url{http://wiki.cs.pdx.edu/rp/}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2315) [Viewed December 9, 2009]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2316) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2317) 	Main Relativistic Programming Wiki.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2318) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2319) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2320) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2321) @conference{PaulEMcKenney2009DeterministicRCU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2322) ,Author="Paul E. McKenney"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2323) ,Title="Deterministic Synchronization in Multicore Systems: the Role of {RCU}"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2324) ,Booktitle="Eleventh Real Time Linux Workshop"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2325) ,month="September"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2326) ,year="2009"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2327) ,address="Dresden, Germany"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2328) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2329) \url{http://www.rdrop.com/users/paulmck/realtime/paper/DetSyncRCU.2009.08.18a.pdf}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2330) [Viewed January 14, 2009]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2331) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2332) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2333) @unpublished{PaulEMcKenney2009HuntingHeisenbugs
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2334) ,Author="Paul E. McKenney"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2335) ,Title="Hunting Heisenbugs"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2336) ,month="November"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2337) ,year="2009"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2338) ,day="1"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2339) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2340) \url{http://paulmck.livejournal.com/14639.html}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2341) [Viewed June 4, 2010]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2342) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2343) 	Day-one bug in Tree RCU that took forever to track down.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2344) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2345) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2346) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2347) @unpublished{MathieuDesnoyers2009defer:rcu
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2348) ,Author="Mathieu Desnoyers"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2349) ,Title="Kernel RCU: shrink the size of the struct rcu\_head"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2350) ,month="December"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2351) ,year="2009"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2352) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2353) \url{http://lkml.org/lkml/2009/10/18/129}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2354) [Viewed December 29, 2009]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2355) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2356) 	Mathieu proposed defer_rcu() with fixed-size per-thread pool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2357) 	of RCU callbacks.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2358) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2359) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2360) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2361) @unpublished{MathieuDesnoyers2009VerifPrePub
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2362) ,Author="Mathieu Desnoyers and Paul E. McKenney and Michel R. Dagenais"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2363) ,Title="Multi-Core Systems Modeling for Formal Verification of Parallel Algorithms"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2364) ,month="December"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2365) ,year="2009"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2366) ,note="Submitted to IEEE TPDS"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2367) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2368) 	OOMem model for Mathieu's user-level RCU mechanical proof of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2369) 	correctness.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2370) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2371) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2372) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2373) @unpublished{MathieuDesnoyers2009URCUPrePub
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2374) ,Author="Mathieu Desnoyers and Paul E. McKenney and Alan Stern and Michel R. Dagenais and Jonathan Walpole"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2375) ,Title="User-Level Implementations of Read-Copy Update"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2376) ,month="December"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2377) ,year="2010"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2378) ,url={\url{http://www.computer.org/csdl/trans/td/2012/02/ttd2012020375-abs.html}}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2379) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2380) 	RCU overview, desiderata, semi-formal semantics, user-level RCU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2381) 	usage scenarios, three classes of RCU implementation, wait-free
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2382) 	RCU updates, RCU grace-period batching, update overhead,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2383) 	http://www.rdrop.com/users/paulmck/RCU/urcu-main-accepted.2011.08.30a.pdf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2384) 	http://www.rdrop.com/users/paulmck/RCU/urcu-supp-accepted.2011.08.30a.pdf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2385) 	Superseded by MathieuDesnoyers2012URCU.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2386) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2387) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2388) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2389) @inproceedings{HariKannan2009DynamicAnalysisRCU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2390) ,author = {Kannan, Hari}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2391) ,title = {Ordering decoupled metadata accesses in multiprocessors}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2392) ,booktitle = {MICRO 42: Proceedings of the 42nd Annual IEEE/ACM International Symposium on Microarchitecture}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2393) ,year = {2009}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2394) ,isbn = {978-1-60558-798-1}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2395) ,pages = {381--390}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2396) ,location = {New York, New York}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2397) ,doi = {http://doi.acm.org/10.1145/1669112.1669161}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2398) ,publisher = {ACM}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2399) ,address = {New York, NY, USA}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2400) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2401) 	Uses RCU to protect metadata used in dynamic analysis.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2402) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2403) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2404) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2405) @conference{PaulEMcKenney2010SimpleOptRCU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2406) ,Author="Paul E. McKenney"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2407) ,Title="Simplicity Through Optimization"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2408) ,Booktitle="linux.conf.au 2010"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2409) ,month="January"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2410) ,year="2010"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2411) ,address="Wellington, New Zealand"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2412) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2413) \url{http://www.rdrop.com/users/paulmck/RCU/SimplicityThruOptimization.2010.01.21f.pdf}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2414) [Viewed October 10, 2010]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2415) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2416) 	TREE_PREEMPT_RCU optimizations greatly simplified the old
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2417) 	PREEMPT_RCU implementation.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2418) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2419) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2420) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2421) @unpublished{PaulEMcKenney2010LockdepRCU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2422) ,Author="Paul E. McKenney"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2423) ,Title="Lockdep-{RCU}"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2424) ,month="February"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2425) ,year="2010"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2426) ,day="1"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2427) ,note="\url{https://lwn.net/Articles/371986/}"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2428) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2429) 	CONFIG_PROVE_RCU, or at least an early version.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2430) 	[Viewed June 4, 2010]
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2431) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2432) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2433) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2434) @unpublished{AviKivity2010KVM2RCU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2435) ,Author="Avi Kivity"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2436) ,Title="[{PATCH} 37/40] {KVM}: Bump maximum vcpu count to 64"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2437) ,month="February"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2438) ,year="2010"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2439) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2440) \url{http://www.mail-archive.com/kvm@vger.kernel.org/msg28640.html}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2441) [Viewed March 20, 2010]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2442) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2443) 	Use of RCU permits KVM to increase the size of guest OSes from
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2444) 	16 CPUs to 64 CPUs.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2445) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2446) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2447) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2448) @unpublished{HerbertXu2010RCUResizeHash
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2449) ,Author="Herbert Xu"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2450) ,Title="bridge: Add core IGMP snooping support"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2451) ,month="February"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2452) ,year="2010"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2453) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2454) \url{http://thread.gmane.org/gmane.linux.network/153338}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2455) [Viewed June 9, 2014]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2456) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2457) 	Use a pair of list_head structures to support RCU-protected
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2458) 	resizable hash tables.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2459) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2460) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2461) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2462) @mastersthesis{AbhinavDuggal2010Masters
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2463) ,author="Abhinav Duggal"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2464) ,title="Stopping Data Races Using Redflag"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2465) ,school="Stony Brook University"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2466) ,year="2010"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2467) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2468) 	Data-race detector incorporating RCU.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2469) 	http://www.filesystems.org/docs/abhinav-thesis/abhinav_thesis.pdf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2470) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2471) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2472) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2473) @article{JoshTriplett2010RPHash
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2474) ,author="Josh Triplett and Paul E. McKenney and Jonathan Walpole"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2475) ,title="Scalable Concurrent Hash Tables via Relativistic Programming"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2476) ,journal="ACM Operating Systems Review"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2477) ,year=2010
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2478) ,volume=44
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2479) ,number=3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2480) ,month="July"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2481) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2482) 	RP fun with hash tables.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2483) 	http://portal.acm.org/citation.cfm?id=1842733.1842750
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2484) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2485) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2486) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2487) @unpublished{PaulEMcKenney2010RCUAPI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2488) ,Author="Paul E. McKenney"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2489) ,Title="The {RCU} {API}, 2010 Edition"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2490) ,month="December"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2491) ,day="8"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2492) ,year="2010"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2493) ,note="\url{http://lwn.net/Articles/418853/}"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2494) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2495) 	Includes updated software-engineering features.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2496) 	[Viewed December 8, 2010]
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2497) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2498) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2499) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2500) @mastersthesis{AndrejPodzimek2010masters
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2501) ,author="Andrej Podzimek"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2502) ,title="Read-Copy-Update for OpenSolaris"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2503) ,school="Charles University in Prague"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2504) ,year="2010"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2505) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2506) \url{https://andrej.podzimek.org/thesis.pdf}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2507) [Viewed January 31, 2011]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2508) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2509) 	Reviews RCU implementations and creates a few for OpenSolaris.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2510) 	Drives quiescent-state detection from RCU read-side primitives,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2511) 	in a manner roughly similar to that of Jim Houston.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2512) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2513) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2514) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2515) @unpublished{LinusTorvalds2011Linux2:6:38:rc1:NPigginVFS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2516) ,Author="Linus Torvalds"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2517) ,Title="Linux 2.6.38-rc1"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2518) ,month="January"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2519) ,year="2011"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2520) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2521) \url{https://lkml.org/lkml/2011/1/18/322}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2522) [Viewed March 4, 2011]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2523) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2524) 	"The RCU-based name lookup is at the other end of the spectrum - the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2525) 	absolute anti-gimmick. It's some seriously good stuff, and gets rid of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2526) 	the last main global lock that really tends to hurt some kernel loads.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2527) 	The dentry lock is no longer a big serializing issue. What's really
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2528) 	nice about it is that it actually improves performance a lot even for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2529) 	single-threaded loads (on an SMP kernel), because it gets rid of some
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2530) 	of the most expensive parts of path component lookup, which was the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2531) 	d_lock on every component lookup. So I'm seeing improvements of 30-50%
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2532) 	on some seriously pathname-lookup intensive loads."
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2533) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2534) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2535) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2536) @techreport{JoshTriplett2011RPScalableCorrectOrdering
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2537) ,author = {Josh Triplett and Philip W. Howard and Paul E. McKenney and Jonathan Walpole}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2538) ,title = {Scalable Correct Memory Ordering via Relativistic Programming}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2539) ,year = {2011}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2540) ,number = {11-03}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2541) ,institution = {Portland State University}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2542) ,note = {\url{http://www.cs.pdx.edu/pdfs/tr1103.pdf}}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2543) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2544) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2545) @inproceedings{PhilHoward2011RCUTMRBTree
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2546) ,author = {Philip W. Howard and Jonathan Walpole}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2547) ,title = {A Relativistic Enhancement to Software Transactional Memory}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2548) ,booktitle = {Proceedings of the 3rd USENIX conference on Hot topics in parallelism}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2549) ,series = {HotPar'11}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2550) ,year = {2011}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2551) ,location = {Berkeley, CA}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2552) ,pages = {1--6}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2553) ,numpages = {6}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2554) ,url = {http://www.usenix.org/event/hotpar11/tech/final_files/Howard.pdf}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2555) ,publisher = {USENIX Association}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2556) ,address = {Berkeley, CA, USA}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2557) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2558) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2559) @techreport{PaulEMcKenney2011cyclicparallelRCU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2560) ,author="Paul E. McKenney and Jonathan Walpole"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2561) ,title="Efficient Support of Consistent Cyclic Search With Read-Copy Update and Parallel Updates"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2562) ,institution="US Patent and Trademark Office"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2563) ,address="Washington, DC"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2564) ,year="2011"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2565) ,number="US Patent 7,953,778"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2566) ,month="May"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2567) ,pages="34"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2568) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2569) 	Maintains an array of generation numbers to track in-flight
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2570) 	updates and keeps an additional level of indirection to allow
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2571) 	readers to confine themselves to the desired snapshot of the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2572) 	data structure.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2573) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2574) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2575) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2576) @inproceedings{Triplett:2011:RPHash
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2577) ,author = {Triplett, Josh and McKenney, Paul E. and Walpole, Jonathan}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2578) ,title = {Resizable, Scalable, Concurrent Hash Tables via Relativistic Programming}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2579) ,booktitle = {Proceedings of the 2011 USENIX Annual Technical Conference}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2580) ,month = {June}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2581) ,year = {2011}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2582) ,pages = {145--158}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2583) ,numpages = {14}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2584) ,url={http://www.usenix.org/event/atc11/tech/final_files/Triplett.pdf}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2585) ,publisher = {The USENIX Association}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2586) ,address = {Portland, OR USA}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2587) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2588) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2589) @unpublished{PaulEMcKenney2011RCU3.0trainwreck
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2590) ,Author="Paul E. McKenney"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2591) ,Title="3.0 and {RCU:} what went wrong"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2592) ,month="July"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2593) ,day="27"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2594) ,year="2011"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2595) ,note="\url{http://lwn.net/Articles/453002/}"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2596) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2597) 	Analysis of the RCU trainwreck in Linux kernel 3.0.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2598) 	[Viewed July 27, 2011]
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2599) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2600) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2601) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2602) @unpublished{NeilBrown2011MeetTheLockers
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2603) ,Author="Neil Brown"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2604) ,Title="Meet the {Lockers}"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2605) ,month="August"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2606) ,day="3"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2607) ,year="2011"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2608) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2609) \url{http://lwn.net/Articles/453685/}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2610) [Viewed September 2, 2011]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2611) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2612) 	The Locker family as an analogy for locking, reference counting,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2613) 	RCU, and seqlock.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2614) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2615) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2616) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2617) @inproceedings{Seyster:2011:RFA:2075416.2075425
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2618) ,author = {Seyster, Justin and Radhakrishnan, Prabakar and Katoch, Samriti and Duggal, Abhinav and Stoller, Scott D. and Zadok, Erez}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2619) ,title = {Redflag: a framework for analysis of Kernel-level concurrency}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2620) ,booktitle = {Proceedings of the 11th international conference on Algorithms and architectures for parallel processing - Volume Part I}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2621) ,series = {ICA3PP'11}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2622) ,year = {2011}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2623) ,isbn = {978-3-642-24649-4}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2624) ,location = {Melbourne, Australia}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2625) ,pages = {66--79}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2626) ,numpages = {14}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2627) ,url = {http://dl.acm.org/citation.cfm?id=2075416.2075425}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2628) ,acmid = {2075425}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2629) ,publisher = {Springer-Verlag}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2630) ,address = {Berlin, Heidelberg}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2631) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2632) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2633) @phdthesis{JoshTriplettPhD
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2634) ,author="Josh Triplett"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2635) ,title="Relativistic Causal Ordering: A Memory Model for Scalable Concurrent Data Structures"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2636) ,school="Portland State University"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2637) ,year="2012"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2638) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2639) 	RCU-protected hash tables, barriers vs. read-side traversal order.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2640) 	.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2641) 	If the updater is making changes in the opposite direction from
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2642) 	the read-side traveral order, the updater need only execute a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2643) 	memory-barrier instruction, but if in the same direction, the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2644) 	updater needs to wait for a grace period between the individual
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2645) 	updates.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2646) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2647) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2648) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2649) @article{MathieuDesnoyers2012URCU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2650) ,Author="Mathieu Desnoyers and Paul E. McKenney and Alan Stern and Michel R. Dagenais and Jonathan Walpole"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2651) ,Title="User-Level Implementations of Read-Copy Update"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2652) ,journal="IEEE Transactions on Parallel and Distributed Systems"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2653) ,volume={23}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2654) ,year="2012"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2655) ,issn="1045-9219"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2656) ,pages="375-382"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2657) ,doi="http://doi.ieeecomputersociety.org/10.1109/TPDS.2011.159"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2658) ,publisher="IEEE Computer Society"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2659) ,address="Los Alamitos, CA, USA"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2660) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2661) 	RCU overview, desiderata, semi-formal semantics, user-level RCU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2662) 	usage scenarios, three classes of RCU implementation, wait-free
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2663) 	RCU updates, RCU grace-period batching, update overhead,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2664) 	http://www.rdrop.com/users/paulmck/RCU/urcu-main-accepted.2011.08.30a.pdf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2665) 	http://www.rdrop.com/users/paulmck/RCU/urcu-supp-accepted.2011.08.30a.pdf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2666) 	http://www.computer.org/cms/Computer.org/dl/trans/td/2012/02/extras/ttd2012020375s.pdf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2667) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2668) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2669) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2670) @inproceedings{AustinClements2012RCULinux:mmapsem
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2671) ,author = {Austin Clements and Frans Kaashoek and Nickolai Zeldovich}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2672) ,title = {Scalable Address Spaces Using {RCU} Balanced Trees}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2673) ,booktitle = {Architectural Support for Programming Languages and Operating Systems (ASPLOS 2012)}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2674) ,month = {March}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2675) ,year = {2012}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2676) ,pages = {199--210}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2677) ,numpages = {12}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2678) ,publisher = {ACM}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2679) ,address = {London, UK}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2680) ,url="http://people.csail.mit.edu/nickolai/papers/clements-bonsai.pdf"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2681) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2682) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2683) @unpublished{PaulEMcKenney2012ELCbattery
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2684) ,Author="Paul E. McKenney"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2685) ,Title="Making {RCU} Safe For Battery-Powered Devices"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2686) ,month="February"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2687) ,day="15"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2688) ,year="2012"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2689) ,note="Available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2690) \url{http://www.rdrop.com/users/paulmck/RCU/RCUdynticks.2012.02.15b.pdf}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2691) [Viewed March 1, 2012]"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2692) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2693) 	RCU_FAST_NO_HZ, round 2.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2694) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2695) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2696) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2697) @article{GuillermoVigueras2012RCUCrowd
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2698) ,author = {Vigueras, Guillermo and Ordu\~{n}a, Juan M. and Lozano, Miguel}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2699) ,day = {25}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2700) ,doi = {10.1007/s11227-012-0766-x}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2701) ,issn = {0920-8542}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2702) ,journal = {The Journal of Supercomputing}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2703) ,keywords = {linux, simulation}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2704) ,month = apr
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2705) ,posted-at = {2012-05-03 09:12:04}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2706) ,priority = {2}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2707) ,title = {{A Read-Copy Update based parallel server for distributed crowd simulations}}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2708) ,url = {http://dx.doi.org/10.1007/s11227-012-0766-x}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2709) ,year = {2012}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2710) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2711) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2712) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2713) @unpublished{JonCorbet2012ACCESS:ONCE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2714) ,Author="Jon Corbet"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2715) ,Title="{ACCESS\_ONCE()}"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2716) ,month="August"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2717) ,day="1"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2718) ,year="2012"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2719) ,note="\url{http://lwn.net/Articles/508991/}"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2720) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2721) 	A couple of simple specific compiler optimizations that motivate
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2722) 	ACCESS_ONCE().
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2723) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2724) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2725) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2726) @unpublished{AlexeyGotsman2012VerifyGraceExtended
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2727) ,Author="Alexey Gotsman and Noam Rinetzky and Hongseok Yang"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2728) ,Title="Verifying Highly Concurrent Algorithms with Grace (extended version)"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2729) ,month="July"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2730) ,day="10"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2731) ,year="2012"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2732) ,note="\url{http://software.imdea.org/~gotsman/papers/recycling-esop13-ext.pdf}"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2733) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2734) 	Separation-logic formulation of RCU uses.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2735) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2736) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2737) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2738) @unpublished{PaulMcKenney2012RCUUsage
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2739) ,Author="Paul E. McKenney and Silas Boyd-Wickizer and Jonathan Walpole"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2740) ,Title="{RCU} Usage In the Linux Kernel: One Decade Later"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2741) ,month="September"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2742) ,day="17"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2743) ,year="2012"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2744) ,url=http://rdrop.com/users/paulmck/techreports/survey.2012.09.17a.pdf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2745) ,note="Technical report paulmck.2012.09.17"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2746) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2747) 	Overview of the first variant of no-CBs CPUs for RCU.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2748) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2749) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2750) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2751) @unpublished{JonCorbet2012NOCB
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2752) ,Author="Jon Corbet"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2753) ,Title="Relocating RCU callbacks"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2754) ,month="October"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2755) ,day="31"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2756) ,year="2012"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2757) ,note="\url{http://lwn.net/Articles/522262/}"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2758) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2759) 	Overview of the first variant of no-CBs CPUs for RCU.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2760) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2761) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2762) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2763) @phdthesis{JustinSeyster2012PhD
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2764) ,author="Justin Seyster"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2765) ,title="Runtime Verification of Kernel-Level Concurrency Using Compiler-Based Instrumentation"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2766) ,school="Stony Brook University"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2767) ,year="2012"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2768) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2769) 	Looking for data races, including those involving RCU.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2770) 	Proposal:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2771) 	http://www.fsl.cs.sunysb.edu/docs/jseyster-proposal/redflag.pdf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2772) 	Dissertation:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2773) 	http://www.fsl.cs.sunysb.edu/docs/jseyster-dissertation/redflag.pdf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2774) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2775) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2776) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2777) @unpublished{PaulEMcKenney2013RCUUsage
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2778) ,Author="Paul E. McKenney and Silas Boyd-Wickizer and Jonathan Walpole"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2779) ,Title="{RCU} Usage in the {Linux} Kernel: One Decade Later"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2780) ,month="February"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2781) ,day="24"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2782) ,year="2013"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2783) ,note="\url{http://rdrop.com/users/paulmck/techreports/RCUUsage.2013.02.24a.pdf}"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2784) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2785) 	Usage of RCU within the Linux kernel.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2786) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2787) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2788) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2789) @inproceedings{AlexeyGotsman2013ESOPRCU
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2790) ,author = {Alexey Gotsman and Noam Rinetzky and Hongseok Yang}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2791) ,title = {Verifying concurrent memory reclamation algorithms with grace}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2792) ,booktitle = {ESOP'13: European Symposium on Programming}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2793) ,year = {2013}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2794) ,pages = {249--269}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2795) ,publisher = {Springer}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2796) ,address = {Rome, Italy}
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2797) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2798) 	http://software.imdea.org/~gotsman/papers/recycling-esop13.pdf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2799) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2800) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2801) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2802) @unpublished{PaulEMcKenney2013NoTinyPreempt
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2803) ,Author="Paul E. McKenney"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2804) ,Title="Simplifying RCU"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2805) ,month="March"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2806) ,day="6"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2807) ,year="2013"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2808) ,note="\url{http://lwn.net/Articles/541037/}"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2809) ,annotation={
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2810) 	Getting rid of TINY_PREEMPT_RCU.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2811) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2812) }