Re: [PATCH 2/7] atomics/treewide: rework ordering barriers

2018-06-05 Thread Peter Zijlstra
On Tue, Jun 05, 2018 at 03:02:56PM +0100, Mark Rutland wrote: > Locally I've made this: > > __atomic_acquire_fence() > __atomic_release_fence() > __atomic_pre_fence() > __atomic_post_fence() > > ... but I'm more than happy to rename however you prefer. No that's fine. As long as we're rid of

Re: [PATCH 2/7] atomics/treewide: rework ordering barriers

2018-06-05 Thread Peter Zijlstra
On Tue, Jun 05, 2018 at 03:02:56PM +0100, Mark Rutland wrote: > Locally I've made this: > > __atomic_acquire_fence() > __atomic_release_fence() > __atomic_pre_fence() > __atomic_post_fence() > > ... but I'm more than happy to rename however you prefer. No that's fine. As long as we're rid of

Re: [PATCH 2/7] atomics/treewide: rework ordering barriers

2018-06-05 Thread Mark Rutland
On Tue, Jun 05, 2018 at 03:56:16PM +0200, Peter Zijlstra wrote: > On Tue, Jun 05, 2018 at 02:28:02PM +0100, Mark Rutland wrote: > > On Tue, Jun 05, 2018 at 02:16:23PM +0200, Peter Zijlstra wrote: > > > and simply using smp_mb__{before,after}_atomic for the full fence, its > > > exactly what they

Re: [PATCH 2/7] atomics/treewide: rework ordering barriers

2018-06-05 Thread Mark Rutland
On Tue, Jun 05, 2018 at 03:56:16PM +0200, Peter Zijlstra wrote: > On Tue, Jun 05, 2018 at 02:28:02PM +0100, Mark Rutland wrote: > > On Tue, Jun 05, 2018 at 02:16:23PM +0200, Peter Zijlstra wrote: > > > and simply using smp_mb__{before,after}_atomic for the full fence, its > > > exactly what they

Re: [PATCH 2/7] atomics/treewide: rework ordering barriers

2018-06-05 Thread Peter Zijlstra
On Tue, Jun 05, 2018 at 02:28:02PM +0100, Mark Rutland wrote: > On Tue, Jun 05, 2018 at 02:16:23PM +0200, Peter Zijlstra wrote: > > and simply using smp_mb__{before,after}_atomic for the full fence, its > > exactly what they were made for. > > The snag is arch/alpha, whare we have: > > /* > *

Re: [PATCH 2/7] atomics/treewide: rework ordering barriers

2018-06-05 Thread Peter Zijlstra
On Tue, Jun 05, 2018 at 02:28:02PM +0100, Mark Rutland wrote: > On Tue, Jun 05, 2018 at 02:16:23PM +0200, Peter Zijlstra wrote: > > and simply using smp_mb__{before,after}_atomic for the full fence, its > > exactly what they were made for. > > The snag is arch/alpha, whare we have: > > /* > *

Re: [PATCH 2/7] atomics/treewide: rework ordering barriers

2018-06-05 Thread Mark Rutland
On Tue, Jun 05, 2018 at 02:16:23PM +0200, Peter Zijlstra wrote: > On Tue, May 29, 2018 at 07:07:41PM +0100, Mark Rutland wrote: > > +#ifndef __atomic_mb__after_acquire > > +#define __atomic_mb__after_acquire smp_mb__after_atomic > > +#endif > > + > > +#ifndef __atomic_mb__before_release > >

Re: [PATCH 2/7] atomics/treewide: rework ordering barriers

2018-06-05 Thread Mark Rutland
On Tue, Jun 05, 2018 at 02:16:23PM +0200, Peter Zijlstra wrote: > On Tue, May 29, 2018 at 07:07:41PM +0100, Mark Rutland wrote: > > +#ifndef __atomic_mb__after_acquire > > +#define __atomic_mb__after_acquire smp_mb__after_atomic > > +#endif > > + > > +#ifndef __atomic_mb__before_release > >

Re: [PATCH 2/7] atomics/treewide: rework ordering barriers

2018-06-05 Thread Peter Zijlstra
On Tue, May 29, 2018 at 07:07:41PM +0100, Mark Rutland wrote: > +#ifndef __atomic_mb__after_acquire > +#define __atomic_mb__after_acquire smp_mb__after_atomic > +#endif > + > +#ifndef __atomic_mb__before_release > +#define __atomic_mb__before_release smp_mb__before_atomic > +#endif > + >

Re: [PATCH 2/7] atomics/treewide: rework ordering barriers

2018-06-05 Thread Peter Zijlstra
On Tue, May 29, 2018 at 07:07:41PM +0100, Mark Rutland wrote: > +#ifndef __atomic_mb__after_acquire > +#define __atomic_mb__after_acquire smp_mb__after_atomic > +#endif > + > +#ifndef __atomic_mb__before_release > +#define __atomic_mb__before_release smp_mb__before_atomic > +#endif > + >

[PATCH 2/7] atomics/treewide: rework ordering barriers

2018-05-29 Thread Mark Rutland
Currently architectures can override __atomic_op_*() to define the barriers used before/after a relaxed atomic when used to build acquire/release/fence variants. This has the unfortunate property of requiring the architecture to define the full wrapper for the atomics, rather than just the

[PATCH 2/7] atomics/treewide: rework ordering barriers

2018-05-29 Thread Mark Rutland
Currently architectures can override __atomic_op_*() to define the barriers used before/after a relaxed atomic when used to build acquire/release/fence variants. This has the unfortunate property of requiring the architecture to define the full wrapper for the atomics, rather than just the