A couple of spinlock facts Uniprocessor kernels optimize out spinlocks Locking is a no-op Holding a spinlock disables preemption Required for deadlock avoidance Long lock hold times can create latency problems Even for unrelated code