User: Password:
Subscribe / Log in / New account

arch: Introduce smp_load_acquire() and smp_store_release()

From:  Peter Zijlstra <>
Subject:  [PATCH 0/4] arch: Introduce smp_load_acquire() and smp_store_release()
Date:  Wed, 18 Dec 2013 20:08:06 +0100
Message-ID:  <>
Cc:,,,,,,,,,,,,,,, Peter Zijlstra <>
Archive-link:  Article

This should hopefully be the last posting of this series -- people felt it
needed one more mostly because last time I typoed the linux-kernel email

If there are no further comments, Ingo will merge these patches in the next few


These patches introduce 2 new barrier primitives:

  smp_store_release(p, v)

See the first patch, which changes Documentation/memory-barriers.txt, to find
the exact definitions of what an ACQUIRE/RELEASE barrier is -- previously known
as LOCK/UNLOCK barriers.

The second patch moves the smp_mb__{before,after}_atomic_{dec,inc}() barriers
to asm/atomic.h for arc and hexagon -- they were already there for all other archs.

This cleans up asm/barrier.h, and the third patch makes more agressive use of
asm-generic/barrier.h to implement the simple cases.

Then the fourth patch adds the new primitives.

Previous versions were widely build tested -- this version is not, but it also
not significantly different.

These patches apply to:


Changes since the last version --

 - fixed linux-kernel email address
 - updated the Documentation patch

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds