What the authors wrote correctly makes sense. This is also true for Linux. The rationale for why spin locks are used is that most resources are protected for a fraction of a millisecond. Thus, to pause, pull the entire contents of the registers onto the stack and abandon the processor, this is too much overhead and not worth it. Thus, although it just rotates in a narrow set of instructions, sometimes just wasting time, it is still more efficient than replacing.
Given that with VM profiling, this ideally makes your processing more efficient. So is there a special case that you always want to pause? Or maybe always spin-wait?
source share