On 02/20/2014 01:42 PM, Linus Torvalds wrote:
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
Yes, this is actually what I meant. The only difference is that I am
thinking about using a different config variable as PARAVIRT_SPINLOCKS
actually mean something else.
-Longman
--
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