Implementing non-blocking Synchronization (cont.)
Implementing non-blocking Synchronization (cont.)
- Variants of the basic approach:
- N reads, 1 write: No backout.
- 2 reads, 2 writes: No version number.
- Optimization:
Cache based advisory locking avoids contention (& “useless parallelism”)
In the kernel, every case of synchronization falls into the special cases