From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
To: Will Deacon <will.deacon@arm.com>
Cc: Peter Zijlstra <peterz@infradead.org>,
Boqun Feng <boqun.feng@gmail.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"linuxppc-dev@lists.ozlabs.org" <linuxppc-dev@lists.ozlabs.org>,
Ingo Molnar <mingo@kernel.org>,
Benjamin Herrenschmidt <benh@kernel.crashing.org>,
Paul Mackerras <paulus@samba.org>,
Michael Ellerman <mpe@ellerman.id.au>,
Thomas Gleixner <tglx@linutronix.de>,
Waiman Long <waiman.long@hp.com>
Subject: Re: [RFC v2 4/7] powerpc: atomic: Implement xchg_* and atomic{,64}_xchg_* variants
Date: Mon, 5 Oct 2015 09:57:03 -0700 [thread overview]
Message-ID: <20151005165703.GD4487@linux.vnet.ibm.com> (raw)
In-Reply-To: <20151005144407.GI8818@arm.com>
On Mon, Oct 05, 2015 at 03:44:07PM +0100, Will Deacon wrote:
> On Thu, Oct 01, 2015 at 07:03:01PM +0100, Paul E. McKenney wrote:
> > On Thu, Oct 01, 2015 at 07:13:04PM +0200, Peter Zijlstra wrote:
> > > On Thu, Oct 01, 2015 at 08:09:09AM -0700, Paul E. McKenney wrote:
> > > > On Thu, Oct 01, 2015 at 02:24:40PM +0200, Peter Zijlstra wrote:
> > >
> > > > > I must say I'm somewhat surprised by this level of relaxation, I had
> > > > > expected to only loose SMP barriers, not the program order ones.
> > > > >
> > > > > Is there a good argument for this?
> > > >
> > > > Yes, when we say "relaxed", we really mean relaxed. ;-)
> > > >
> > > > Both the CPU and the compiler are allowed to reorder around relaxed
> > > > operations.
> > >
> > > Is this documented somewhere, because I completely missed this part.
> >
> > Well, yes, these need to be added to the documentation. I am assuming
> > that Will is looking to have the same effect as C11 memory_order_relaxed,
> > which is relaxed in this sense. If he has something else in mind,
> > he needs to tell us what it is and why. ;-)
>
> I was treating them purely as being single-copy atomic and not providing
> any memory ordering guarantees (much like the non *_return atomic operations
> that we already have). I think this lines up with C11, minus the bits
> about data races which we don't call out anyway.
As long as it is single-copy atomic and not multi-copy atomic, I believe
we are on the saem page. We have slowly been outlawing some sorts of
data races over the past few years, and I would guess that this will
continue, expecially if good tooling emerges (and KTSAN is showing some
promise from what I can see).
Thanx, Paul
next prev parent reply other threads:[~2015-10-06 0:54 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-09-16 15:49 [RFC v2 0/7] atomics: powerpc: Implement relaxed/acquire/release variants of some atomics Boqun Feng
2015-09-16 15:49 ` [RFC v2 1/7] atomics: Add test for atomic operations with _relaxed variants Boqun Feng
2015-10-12 9:30 ` Will Deacon
2015-10-12 9:38 ` Boqun Feng
2015-09-16 15:49 ` [RFC v2 2/7] atomics: Allow architectures to define their own __atomic_op_* helpers Boqun Feng
2015-09-16 15:49 ` [RFC v2 3/7] powerpc: atomic: Implement atomic{, 64}_{add, sub}_return_* variants Boqun Feng
2015-09-16 15:49 ` [RFC v2 3/7] powerpc: atomic: Implement atomic{,64}_{add,sub}_return_* variants Boqun Feng
2015-09-18 16:59 ` Will Deacon
2015-09-19 15:33 ` Boqun Feng
2015-09-20 8:23 ` Boqun Feng
2015-09-21 22:24 ` Will Deacon
2015-09-21 23:26 ` Boqun Feng
2015-09-21 23:37 ` Boqun Feng
2015-09-22 15:25 ` Paul E. McKenney
2015-09-23 0:07 ` Boqun Feng
2015-09-25 21:29 ` Paul E. McKenney
2015-09-26 2:18 ` Boqun Feng
2015-09-16 15:49 ` [RFC v2 4/7] powerpc: atomic: Implement xchg_* and atomic{, 64}_xchg_* variants Boqun Feng
2015-09-16 15:49 ` [RFC v2 4/7] powerpc: atomic: Implement xchg_* and atomic{,64}_xchg_* variants Boqun Feng
2015-10-01 12:24 ` Peter Zijlstra
2015-10-01 15:09 ` Paul E. McKenney
2015-10-01 17:13 ` Peter Zijlstra
2015-10-01 18:03 ` Paul E. McKenney
2015-10-01 18:23 ` Peter Zijlstra
2015-10-01 19:41 ` Paul E. McKenney
2015-10-05 14:44 ` Will Deacon
2015-10-05 16:57 ` Paul E. McKenney [this message]
2015-10-12 1:17 ` Boqun Feng
2015-10-12 9:28 ` Will Deacon
2015-10-12 23:24 ` Paul E. McKenney
2015-09-16 15:49 ` [RFC v2 5/7] powerpc: atomic: Implement cmpxchg{, 64}_* and atomic{, 64}_cmpxchg_* variants Boqun Feng
2015-09-16 15:49 ` [RFC v2 5/7] powerpc: atomic: Implement cmpxchg{,64}_* and atomic{,64}_cmpxchg_* variants Boqun Feng
2015-10-01 12:27 ` Peter Zijlstra
2015-10-01 12:36 ` Peter Zijlstra
2015-10-01 15:12 ` Paul E. McKenney
2015-10-01 17:11 ` Peter Zijlstra
2015-10-01 15:13 ` Paul E. McKenney
2015-10-10 1:58 ` Boqun Feng
2015-10-11 10:25 ` Boqun Feng
2015-10-12 6:46 ` Peter Zijlstra
2015-10-12 7:03 ` Boqun Feng
2015-09-16 15:49 ` [RFC v2 6/7] powerpc: atomic: Make atomic{, 64}_xchg and xchg a full barrier Boqun Feng
2015-09-16 15:49 ` [RFC v2 6/7] powerpc: atomic: Make atomic{,64}_xchg " Boqun Feng
2015-10-01 12:28 ` Peter Zijlstra
2015-10-01 23:19 ` Boqun Feng
2015-10-02 5:25 ` Peter Zijlstra
2015-09-16 15:49 ` [RFC v2 7/7] powerpc: atomic: Make atomic{, 64}_cmpxchg and cmpxchg " Boqun Feng
2015-09-16 15:49 ` [RFC v2 7/7] powerpc: atomic: Make atomic{,64}_cmpxchg " Boqun Feng
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20151005165703.GD4487@linux.vnet.ibm.com \
--to=paulmck@linux.vnet.ibm.com \
--cc=benh@kernel.crashing.org \
--cc=boqun.feng@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=mingo@kernel.org \
--cc=mpe@ellerman.id.au \
--cc=paulus@samba.org \
--cc=peterz@infradead.org \
--cc=tglx@linutronix.de \
--cc=waiman.long@hp.com \
--cc=will.deacon@arm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.