Yes. Another possibility is to enable it when there is >1 NUMA node in
the guest. We generally don't do this kind of magic but higher layers
(oVirt/OpenStack) do.
Can't the guest make this decision, instead of the host?
By guest, do you mean the guest OS itself or the admin of the guest
VM?
I am thinking about maybe adding kernel boot command line option
like "unfair_pvspinlock_cpu_threshold=4" which will instruct the OS
to use unfair spinlock if the number of CPUs is 4 or less, for
example. The default value of 0 will have the same behavior as it is
today. Please let me know what you guys think about that.