10.3.2.1.5 Low-Priority RCU Readers Can Block High-Priority Reclaimers

In Realtime RCU [GMTW08] (see Section [*]), SRCU [McK06] (see Section [*], or QRCU [McK07f] (see Section [*], each of which is described in the final installment of this series, a preempted reader will prevent a grace period from completing, even if a high-priority task is blocked waiting for that grace period to complete. Realtime RCU can avoid this problem by substituting call_rcu() for synchronize_rcu() or by using RCU priority boosting [McK07d,GMTW08], which is still in experimental status as of early 2008. It might become necessary to augment SRCU and QRCU with priority boosting, but not before a clear real-world need is demonstrated.



Paul E. McKenney 2011-12-16