^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) }