On Thu, Feb 20, 2014 at 9:54 AM, Waiman Long <waiman.long@xxxxxx> wrote: > > I think we could implement 2 versions of _raw_spin_lock. Yup. Or rather, I'd suggest implement just one version of arch_spin_lock(), but at the top of it you do something like #if CONFIG_PARAVIRT_SPINLOCK if (static_key_false(&unfair_spinlocks)) { .. do paravirt unfair lock version .. } #endif which should basically generate almost-perfect code: it's one extra no-op for the native case if CONFIG_PARAVIRT_SPINLOCK is on, which turns into a branch for the unfair version for paravirtualization. Or something like that. Linus -- To unsubscribe from this list: send the line "unsubscribe linux-arch" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html