On Sat, Sep 05, 2015 at 06:53:02PM +0100, Peter Zijlstra wrote: > On Wed, Sep 02, 2015 at 02:18:53PM -0700, Linus Torvalds wrote: > > So I think we could possibly relax the requirements (and document this > > very clearly) to say that the futex operation must be totally ordered > > wrt any other _user_space_ accesses by that thread. I suspect a lot of > > architectures can then say "we may be very weakly ordered, but kernel > > entry/exit implies enough synchronization that we do not need any > > futher memory barriers". > > Right, so before sending this email I actually spoke to Ralf about this > option, and he said that this is not actually well defined for MIPS. > > But we could certainly document it such and let archs for which this is > well documented (I would expect this to be most) choose that > implementation.
Whilst a control-dependency + exception return forms a barrier of sorts on arm/arm64, it's not required to be transitive [1], so I wouldn't be comfortable making that relaxation on the futex path. Will [1] See, for example, "ISA2+dmb+ctrlisb+dmb" at https://www.cl.cam.ac.uk/~pes20/ppcmem/index.html#ARM -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/