Commit fb2b5819 authored by Paul E. McKenney's avatar Paul E. McKenney Committed by Ingo Molnar

Documentation/memory-barriers.txt: Add long atomic examples to memory-barriers.txt

Although the atomic_long_t functions are quite useful, they are
a bit obscure.  This commit therefore adds the common ones
alongside their atomic_t counterparts in
Documentation/memory-barriers.txt.
Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Reviewed-by: default avatarJosh Triplett <josh@joshtriplett.org>
Reviewed-by: default avatarPeter Zijlstra <a.p.zijlstra@chello.nl>
Cc: <linux-arch@vger.kernel.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Link: http://lkml.kernel.org/r/1386799151-2219-2-git-send-email-paulmck@linux.vnet.ibm.comSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
parent 2ecf8101
...@@ -1728,21 +1728,23 @@ explicit lock operations, described later). These include: ...@@ -1728,21 +1728,23 @@ explicit lock operations, described later). These include:
xchg(); xchg();
cmpxchg(); cmpxchg();
atomic_xchg(); atomic_xchg(); atomic_long_xchg();
atomic_cmpxchg(); atomic_cmpxchg(); atomic_long_cmpxchg();
atomic_inc_return(); atomic_inc_return(); atomic_long_inc_return();
atomic_dec_return(); atomic_dec_return(); atomic_long_dec_return();
atomic_add_return(); atomic_add_return(); atomic_long_add_return();
atomic_sub_return(); atomic_sub_return(); atomic_long_sub_return();
atomic_inc_and_test(); atomic_inc_and_test(); atomic_long_inc_and_test();
atomic_dec_and_test(); atomic_dec_and_test(); atomic_long_dec_and_test();
atomic_sub_and_test(); atomic_sub_and_test(); atomic_long_sub_and_test();
atomic_add_negative(); atomic_add_negative(); atomic_long_add_negative();
atomic_add_unless(); /* when succeeds (returns 1) */
test_and_set_bit(); test_and_set_bit();
test_and_clear_bit(); test_and_clear_bit();
test_and_change_bit(); test_and_change_bit();
/* when succeeds (returns 1) */
atomic_add_unless(); atomic_long_add_unless();
These are used for such things as implementing LOCK-class and UNLOCK-class These are used for such things as implementing LOCK-class and UNLOCK-class
operations and adjusting reference counters towards object destruction, and as operations and adjusting reference counters towards object destruction, and as
such the implicit memory barrier effects are necessary. such the implicit memory barrier effects are necessary.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment