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: 

http://sigops.org/sosp/sosp13/papers/p33-david.pdf