Re: [PATCH 2/4, v2] x86: enlightenment for ticket spin locks - Xen implementation

Jan Beulich
2010-06-30T08:51:37Z

>>> On 30.06.10 at 10:05, Peter Zijlstra <peterz@infradead.org> wrote:
> On Tue, 2010-06-29 at 15:32 +0100, Jan Beulich wrote:
>> +static DEFINE_PER_CPU(arch_rwlock_t, spinning_rm_lock) =
> __ARCH_RW_LOCK_UNLOCKED;
>
> why is that an arch_ lock?

Because I don't think it is appropriate to use anything higher level
in the callouts from the lock/unlock inline functions. The alternative
would be an open coded lock, which seems much less desirable to
me.

> why is that a rwlock?, those things are useless.

Because potentially each CPU's lock gets acquired for reading during
unlock, while only the locking CPU's one needs to be acquired for
writing during lock.

Jan