2008
DOI: 10.1147/sj.472.0221
|View full text |Cite
|
Sign up to set email alerts
|

The read-copy-update mechanism for supporting real-time applications on shared-memory multiprocessor systems with Linux

Abstract: Read-copy update (RCU) is a synchronization mechanism in the Linux TM kernel that provides significant improvements in multiprocessor scalability by eliminating the writer-delay problem of readers-writer locking. RCU implementations to date, however, have had the side effect of expanding non-preemptible regions of code, thereby degrading real-time response. We present here a variant of RCU that allows preemption of read-side critical sections and thus is better suited for real-time applications. We summarize p… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
24
0

Year Published

2012
2012
2018
2018

Publication Types

Select...
6
3

Relationship

0
9

Authors

Journals

citations
Cited by 52 publications
(24 citation statements)
references
References 8 publications
(7 reference statements)
0
24
0
Order By: Relevance
“…However, as it uses some features of the architectures of current processors such as the atomicity of operations with pointers aligned in memory, the RCU allows a writer and multiple readers in a critical section, concurrently. Thus it achieves a better performance when compared with the read-write spinlocks [3]. This Section presents the mapping of the Linux kernel mechanisms, listed in Sections 3 and 4, to the abstractions used in the response-time analysis, described in Section 2.…”
Section: Blockingmentioning
confidence: 99%
“…However, as it uses some features of the architectures of current processors such as the atomicity of operations with pointers aligned in memory, the RCU allows a writer and multiple readers in a critical section, concurrently. Thus it achieves a better performance when compared with the read-write spinlocks [3]. This Section presents the mapping of the Linux kernel mechanisms, listed in Sections 3 and 4, to the abstractions used in the response-time analysis, described in Section 2.…”
Section: Blockingmentioning
confidence: 99%
“…Instances of this class are used to obtain efficient data structures such as stacks [16], queues [15], or hash tables [7]. The read-copyupdate (RCU) [8] synchronization mechanism employed by the Linux kernel is also an instance of this pattern.…”
Section: Overviewmentioning
confidence: 99%
“…The performance benefits of RCU are due to the fact that rcu_read_lock() and rcu_-read_unlock() are exceedingly fast. In fact, Appendix D2 in the Supplementary Material shows how these two primitives can incur exactly zero overhead, as they do in server-class Linux-kernel builds [13].…”
Section: A Conceptual View Of Rcu Algorithmsmentioning
confidence: 99%
“…Distinct grace periods may overlap, either partially or completely. Any time period that includes a grace period is by definition itself a grace period [13,14]. Each grace period is guaranteed to complete as long as all read-side critical sections are finite in duration; thus even a constant flow of such critical sections is unable to extend an RCU grace period indefinitely.…”
Section: A Conceptual View Of Rcu Algorithmsmentioning
confidence: 99%