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

Peter Zijlstra peterz at infradead.org
Thu Apr 5 10:28:08 PDT 2018


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..



More information about the linux-arm-kernel mailing list