Re: [RFC PATCH 1/6] kernel: implement queue spinlock API

From: Eric Dumazet
Date: Thu Feb 07 2013 - 19:04:01 EST


On Thu, 2013-02-07 at 15:58 -0800, Michel Lespinasse wrote:

> No, I think that's doable. The trick would be that once a thread
> acquires the lock, the only remaining use of the node is to receive
> the 'next' pointer if/when another thread starts contending for the
> lock. So if the lock state would need to distinguish between a lock
> that is currently locked but not contended (the next value would then
> be NULL), and a lock that is currently locked and contended (the
> lock->next value is the node that goes after the current lock owner)
>

It adds yet another memory write to store the node pointer in the
lock...

I suspect it's going to increase false sharing.


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/