For anyone interested in performance tuning.. https://aloiskraus.wordpress.com/2018/06/16/why-skylakex-cpus-are-sometimes-50-slower-how-intel-has-broken-existing-code/
tl;dr pause in newer skylakes is a lot. We call this internally x86_pause and do an entire function call for it (could use an intrinsic like __builtin_ia32_pause() too for these things...) It's our choice for SPINLOCK_BACKOFF_HOOK. (Perhaps a tunable read-mostly SPINLOCK_BACKOFF_* would be worthwhile?) Also on the same topic: SPINLOCK_RUN_HOOK seems to be unused?