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

  • Authors:
  • D. Guniguntala;P. E. McKenney;J. Triplett;J. Walpole

  • Affiliations:
  • IBM India Systems and Technology Laboratory, Bangalore, KA, India;IBM Beaverton Laboratory, Beaverton, OR;Portland State University, Hillsboro, OR;Portland State University, Beaverton, OR

  • Venue:
  • IBM Systems Journal
  • Year:
  • 2008

Quantified Score

Hi-index 0.02

Visualization

Abstract

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.