On Wed, 09 Jul 2008 16:39:43 +0100From your words if we do:
Bruno Santos <bsantos@xxxxxxxx> wrote:
Hi,
>hi,
>
>not to ruin the party but... how is this lockless? An atomic
>variable is every bit a "lock" as a spinlock is... and very much
>equally expensive as well for most cases ;-(
Perhaps not the best the choice of words, I should have omitted the
word lockless. But it seems my understanding of lockless and yours is
different. And indeed, it's very expensive as a spinlock, but
comparatively, is only one operation, that if successful doesn't have
to lock and then unlock (that's why I called it lockless ...).
ok I only come from an Intel/x86 background, where unlock is basically
free, and the "lock" is exactly the same cost as an atomic op.
(in fact, an atomic op and a lock are the exact same code.. you're just
open coding it)
The mutex takes the same approach, however it uses it's own flavour
of atomic ops. What I'm really interested is if this brings any
benefit in terms of performance.
on x86... I would highly doubt it since you have the same number of
atomic operations. (it's not the lock that is expensive. ever. it's
always the fact that a lock implies an atomic operation that makes it
expensive)