Ticket spin-lock is an improved spin-lock implementation, which introduces FIFO mechanism for all lock users.
Kernel API:
__ticket_spin_trylock(arch_spinlock_t *lock)
__ticket_spin_unlock(arch_spinlock_t *lock)
On its introduction:
http://en.wikipedia.org/wiki/Ticket_lock
http://lwn.net/Articles/267968/
On its performance: