Crate spin_locks [−] [src]
#spin-locks
An Intel hardware-optimized spin lock that uses Hardware Lock Elision (HLE) and a non-CAS based spin lock (an OR lock) as a fast fallback.
The intel spin lock, IntelTsxHleSpinLock
, is only available on x86 and x86_64 targets.
To pick the best spin lock for the compilation target, use the type alias BestSpinLockForCompilationTarget
.
Structs
AtomicBoolSpinLock |
An efficient, CAS-free unfair spin lock that uses an atomic fetch OR and only requires one byte of memory. |
IntelTsxHleSpinLock |
An efficient, CAS-free unfair spin lock that uses an atomic exchange and only requires one byte of memory. Uses Intel TSX Hardware Lock Elision (which should be backwards compatible) to create a spin lock. Inspiration from https://github.com/cyfdecyf/spinlock, https://software.intel.com/en-us/articles/tsx-anti-patterns-in-lock-elision-code and http://locklessinc.com/articles/locks/ |
Traits
SpinLock |
A spin-lock API. |
Type Definitions
BestSpinLockForCompilationTarget |
The best spin lock for the compilation target. |