  We present Hemlock, a novel mutual exclusion locking algorithm that is
extremely compact, requiring just one word per thread plus one word per lock,
but which still provides local spinning in most circumstances, high throughput
under contention, and low latency in the uncontended case. Hemlock is
context-free -- not requiring any information to be passed from a lock
operation to the corresponding unlock -- and FIFO. The performance of Hemlock
is competitive with and often better than the best scalable spin locks.
