On Fri, Jan 10, 2020 at 5:56 PM Will Deacon <will@xxxxxxxxxx> wrote: > > I have more patches in this area because I'm trying to move all the > read_barrier_depends() magic into arch/alpha/, but I'm holding off until > we agree on this part first. Isn't the read_barrier_depends() the only reason for actually needing the temporary local variable that must not be volatile? If you make alpha provide its own READ_ONCE() as the first step, it would seem that the rest of the series gets much easier as the others can go back to the simple statement from your #define __READ_ONCE(x) (*(volatile __unqual_scalar_typeof(x) *)&(x)) Arnd