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

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

DOI:
10.1147/sj.472.0221
复制
发表时间:
2008-04
期刊:
IBM Syst. J.
影响因子:
--
通讯作者:
Dinakar Guniguntala;P. McKenney;J. Triplett;J. Walpole
Dinakar Guniguntala;P. McKenney;J. Triplett;J. Walpole
中科院分区:
其他
文献类型:
--
作者:
Dinakar Guniguntala;P. McKenney;J. Triplett;J. Walpole

文献摘要

被引文献

相似文献

读取-复制更新(RCU)是Linux™内核中的一种同步机制,通过消除读写器锁定的写入器延迟问题,显著提高了多处理器的可伸缩性。然而,到目前为止,RCU的实现有扩展不可抢占的代码区域的副作用,从而降低了实时响应。我们在这里提出了一个变体的RCU,允许抢占读取端的临界区,因此更适合于实时应用。我们总结了优先级反转锁定的问题,提出了一个概述的RCU机制,讨论我们的计数器为基础的适应RCU的实时使用,描述了一个额外的适应RCU,允许一般阻塞在读端的关键部分,并提出性能结果。我们还讨论了一种方法,取代现有的实现与RCU的读写器同步。
Read-copy update (RCU) is a synchronization mechanism in the Linux™ 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 priority-inversion issues with locking, present an overview of the RCU mechanism, discuss our counter-based adaptation of RCU for real-time use, describe an additional adaptation of RCU that permits general blocking in read-side critical sections, and present performance results. We also discuss an approach for replacing the readers-writer synchronization with RCU in existing implementations.