vsync / spinlock
Spinlocks for kernel and userspace.
File Index
| File | Description | Fair locks | Numa-aware | Reentrant |
|---|---|---|---|---|
| vsync/spinlock/arraylock.h | Simple array-based queue lock. | ✔ | ❌ | ❌ |
| vsync/spinlock/caslock.h | Simple spinlock based on compare-and-swap (CAS). | ❌ | ❌ | ❌ |
| vsync/spinlock/clhlock.h | List-based lock attributed to Craig, Landin and Hagersten. | ✔ | ❌ | ❌ |
| vsync/spinlock/cnalock.h | Compact NUMA-aware Lock. | ✔ | ✔ | ❌ |
| vsync/spinlock/hclhlock.h | Hierarchical CLH Queue Lock. | ✔ | ✔ | ❌ |
| vsync/spinlock/hemlock.h | Hemlock by Dice and Kogan. | ✔ | ❌ | ❌ |
| vsync/spinlock/hmcslock.h | Hierarchical MCS lock for systems with NUMA Hierarchies. | ✔ | ✔ | ❌ |
| vsync/spinlock/mcslock.h | Mellor-Crummey Scott Lock - the well-known scalable lock. | ✔ | ❌ | ❌ |
| vsync/spinlock/rec_mcslock.h | Recursive MCS lock implementation using recursive.h. | ✔ | ❌ | ❌ |
| vsync/spinlock/rec_seqlock.h | Recursive seqlock implementation using recursive.h. | ❌ | ❌ | ✔ |
| vsync/spinlock/rec_spinlock.h | Recursive spinlock implementation using recursive.h. | ❌ | ❌ | ✔ |
| vsync/spinlock/rec_ticketlock.h | Recursive ticketlock implementation using recursive.h. | ✔ | ❌ | ✔ |
| vsync/spinlock/rwlock.h | Write-preferring rwlock based on semaphore and an atomic vbool_t. | ❌ | ❌ | ❌ |
| vsync/spinlock/semaphore.h | Counting Semaphore. | ❌ | ❌ | ❌ |
| vsync/spinlock/seqcount.h | Lightweight single-writer multi-reader optimistic lock. | ❌ | ❌ | ❌ |
| vsync/spinlock/seqlock.h | Multi-writer multi-reader optimistic lock. | ❌ | ❌ | ❌ |
| vsync/spinlock/ticketlock.h | Classic ticketlock with two 32-bit variables (owner and next). | ✔ | ❌ | ❌ |
| vsync/spinlock/ttaslock.h | Test, Test and Set lock. | ❌ | ❌ | ❌ |
| vsync/spinlock/twalock.h | Ticketlock with waiting array (TWA). | ✔ | ❌ | ❌ |