Re: Memory barrier needed with wake_up_process()?

From: Peter Zijlstra
Date: Tue Sep 06 2016 - 07:11:05 EST


On Mon, Sep 05, 2016 at 10:43:11AM +0100, Will Deacon wrote:
> On Sat, Sep 03, 2016 at 12:16:29AM +0200, Peter Zijlstra wrote:

> > Forgot to Cc Will. Will, does ARM64 need to make smp_mb__before_spinlock
> > smp_mb() too?
>
> Yes, probably. Just to confirm, the test is something like:
>
>
> CPU0
> ----
>
> Wx=1
> smp_mb__before_spinlock()
> LOCK(y)
> Rz=0
>
> CPU1
> ----
>
> Wz=1
> smp_mb()
> Rx=0
>
>
> and that should be forbidden?

Indeed.