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?

Reply via email to