Thread (14 messages) 14 messages, 3 authors, 2015-08-26

Re: [PATCH v5 0/8] Add generic support for relaxed atomics

From: Boqun Feng <hidden>
Date: 2015-08-26 11:35:27
Also in: lkml

Hi Will,

On Wed, Aug 26, 2015 at 11:41:00AM +0100, Will Deacon wrote:
Hi Boqun,

On Wed, Aug 26, 2015 at 05:28:34AM +0100, Boqun Feng wrote:
quoted
On Thu, Aug 06, 2015 at 05:54:36PM +0100, Will Deacon wrote:
quoted
Will Deacon (8):
  atomics: add acquire/release/relaxed variants of some atomic
    operations
  asm-generic: rework atomic-long.h to avoid bulk code duplication
  asm-generic: add relaxed/acquire/release variants for atomic_long_t
  lockref: remove homebrew cmpxchg64_relaxed macro definition
  locking/qrwlock: implement queue_write_unlock using smp_store_release
  locking/qrwlock: make use of acquire/release/relaxed atomics
  include/llist: use linux/atomic.h instead of asm/cmpxchg.h
Should we step further to privatize asm/cmpxchg.h entirely? Keep it only
included in arch/*?

Because after your next patch, in some configurations, asm/cmpxchg.h of
ARM only provides the definition of {cmpxchg,xchg}_relaxed, others are
built in linux/atomic.h. Further more, other architecture may implement
asm/cmpxchg.h similarly in the future. So, IIUC, we actually don't
guarantee all cmpxchg(), xchg() and their variants are defined in
asm/cmpxchg.h.

Though current users of asm/cmpxchg.h outside arch/* are fine,
because they all happen to have got linux/atomic.h included. But we'd
better change the current users and call out that asm/cmpxchg.h is
privatized in the document.
quoted
  ARM: atomics: define our SMP atomics in terms of _relaxed operations

Consider this patch maybe? I did a simple build test on X86.
I'm not sure that the addition to Documentation/atomic_ops.txt is really
Well.. I think at least we'd better say "to use {cmp,}xchg, include
linux/atomic.h" somewhere, because these two function families don't
have atomic_ prefix and don't take atomic{,64}_t as a parameter.
worth it, but either way:

  Acked-by: Will Deacon [off-list ref]
Thank you!
It's probably best to send this as a standalone patch, since the relaxed
parts are already queued in -tip.
Good point. Will send a standalone patch.

Regards,
Boqun

Attachments

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help