This talk presents an overview of spinlocks. We cover cache coherency models and discover ways we can make spinlocks more efficient with respect to modern hardware. We discuss some potentially undesirable properties of unfairness in spinlocks and look at implementations of fair spinlocks including ticket locks, array locks, MCS locks, and CLH locks.
Presented to the Operating Systems class at Johns Hopkins University as a guest lecture with Samy Al Bahra.