Re: [PATCH 10/10] locking/qspinlock: Elide back-to-back RELEASE operations with smp_wmb()

From: Peter Zijlstra
Date: Thu Apr 05 2018 - 13:28:20 EST


On Thu, Apr 05, 2018 at 05:59:07PM +0100, Will Deacon wrote:
> @@ -340,12 +341,17 @@ void queued_spin_lock_slowpath(struct qspinlock *lock, u32 val)
> goto release;
>
> /*
> + * Ensure that the initialisation of @node is complete before we
> + * publish the updated tail and potentially link @node into the
> + * waitqueue.
> + */
> + smp_wmb();

Maybe an explicit note to where the matching barrier lives..