SRWLock perf is slightly better than Window WaitOnAddress stuff, and works on older versions of windows.
In terms of size, the pointer is bigger than you'd want - it's no pthread_mutex or the analogous Windows data structure where it's a multi cache line disaster of a data structure - but it's clearly worse than a futex or WaitOnAddress solution.