Corner-Case RCU Implementations
a day ago
- #kernel development
- #RCU implementations
- #performance trade-offs
- RCU can be implemented with a fixed time grace period, like a 15-second wait, used in hard real-time systems and past production.
- Timed-wait RCU is risky but has been used for performance, including by Van Jacobson and in DEC OSF/1, though not recommended outside real-time.
- Fixed-buffer RCU uses space (e.g., quarantined memory) for grace periods, seen in KASAN and rcutorture for bug detection, but could be repurposed.
- Both timed and buffer-based RCU show RCU can rely solely on time or space, unlike standard RCU which combines both for synchronization.
- Historical examples highlight trade-offs: admin accepting buggy patches for performance and a past RCU bug unnoticed due to insufficient testing.