D.1.1 SRCU Implementation Strategy

The primary challenge in designing an SRCU is to prevent any given task sleeping in an RCU read-side critical section from blocking an unbounded number of RCU callbacks. SRCU uses two strategies to achieve this goal:

  1. refusing to provide asynchronous grace-period interfaces, such as the Classic RCU's call_rcu() API, and
  2. isolating grace-period detection within each subsystem using SRCU.
The rationale for these strategies are discussed in the following sections.



Subsections

Paul E. McKenney 2011-12-16