* [tip:core/locking] Documentation/memory-barriers.txt: Add long atomic examples to memory-barriers.txt [not found] <1386799151-2219-2-git-send-email-paulmck@linux.vnet.ibm.com> @ 2013-12-16 10:39 ` tip-bot for Paul E. McKenney 2013-12-16 10:39 ` tip-bot for Paul E. McKenney 0 siblings, 1 reply; 2+ messages in thread From: tip-bot for Paul E. McKenney @ 2013-12-16 10:39 UTC (permalink / raw) To: linux-tip-commits Cc: linux-kernel, hpa, mingo, torvalds, a.p.zijlstra, paulmck, akpm, tglx, josh, linux-arch Commit-ID: fb2b581968db140586e8d7db38ff278f60872313 Gitweb: http://git.kernel.org/tip/fb2b581968db140586e8d7db38ff278f60872313 Author: Paul E. McKenney <paulmck@linux.vnet.ibm.com> AuthorDate: Wed, 11 Dec 2013 13:59:05 -0800 Committer: Ingo Molnar <mingo@kernel.org> CommitDate: Mon, 16 Dec 2013 11:36:09 +0100 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: Paul E. McKenney <paulmck@linux.vnet.ibm.com> Reviewed-by: Josh Triplett <josh@joshtriplett.org> Reviewed-by: Peter 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.com Signed-off-by: Ingo Molnar <mingo@kernel.org> --- Documentation/memory-barriers.txt | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/Documentation/memory-barriers.txt b/Documentation/memory-barriers.txt index 1d06723..2d22da0 100644 --- a/Documentation/memory-barriers.txt +++ b/Documentation/memory-barriers.txt @@ -1728,21 +1728,23 @@ explicit lock operations, described later). These include: xchg(); cmpxchg(); - atomic_xchg(); - atomic_cmpxchg(); - atomic_inc_return(); - atomic_dec_return(); - atomic_add_return(); - atomic_sub_return(); - atomic_inc_and_test(); - atomic_dec_and_test(); - atomic_sub_and_test(); - atomic_add_negative(); - atomic_add_unless(); /* when succeeds (returns 1) */ + atomic_xchg(); atomic_long_xchg(); + atomic_cmpxchg(); atomic_long_cmpxchg(); + atomic_inc_return(); atomic_long_inc_return(); + atomic_dec_return(); atomic_long_dec_return(); + atomic_add_return(); atomic_long_add_return(); + atomic_sub_return(); atomic_long_sub_return(); + atomic_inc_and_test(); atomic_long_inc_and_test(); + atomic_dec_and_test(); atomic_long_dec_and_test(); + atomic_sub_and_test(); atomic_long_sub_and_test(); + atomic_add_negative(); atomic_long_add_negative(); test_and_set_bit(); test_and_clear_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 operations and adjusting reference counters towards object destruction, and as such the implicit memory barrier effects are necessary. ^ permalink raw reply related [flat|nested] 2+ messages in thread
* [tip:core/locking] Documentation/memory-barriers.txt: Add long atomic examples to memory-barriers.txt 2013-12-16 10:39 ` [tip:core/locking] Documentation/memory-barriers.txt: Add long atomic examples to memory-barriers.txt tip-bot for Paul E. McKenney @ 2013-12-16 10:39 ` tip-bot for Paul E. McKenney 0 siblings, 0 replies; 2+ messages in thread From: tip-bot for Paul E. McKenney @ 2013-12-16 10:39 UTC (permalink / raw) To: linux-tip-commits Cc: linux-kernel, hpa, mingo, torvalds, a.p.zijlstra, paulmck, akpm, tglx, josh, linux-arch Commit-ID: fb2b581968db140586e8d7db38ff278f60872313 Gitweb: http://git.kernel.org/tip/fb2b581968db140586e8d7db38ff278f60872313 Author: Paul E. McKenney <paulmck@linux.vnet.ibm.com> AuthorDate: Wed, 11 Dec 2013 13:59:05 -0800 Committer: Ingo Molnar <mingo@kernel.org> CommitDate: Mon, 16 Dec 2013 11:36:09 +0100 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: Paul E. McKenney <paulmck@linux.vnet.ibm.com> Reviewed-by: Josh Triplett <josh@joshtriplett.org> Reviewed-by: Peter 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.com Signed-off-by: Ingo Molnar <mingo@kernel.org> --- Documentation/memory-barriers.txt | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/Documentation/memory-barriers.txt b/Documentation/memory-barriers.txt index 1d06723..2d22da0 100644 --- a/Documentation/memory-barriers.txt +++ b/Documentation/memory-barriers.txt @@ -1728,21 +1728,23 @@ explicit lock operations, described later). These include: xchg(); cmpxchg(); - atomic_xchg(); - atomic_cmpxchg(); - atomic_inc_return(); - atomic_dec_return(); - atomic_add_return(); - atomic_sub_return(); - atomic_inc_and_test(); - atomic_dec_and_test(); - atomic_sub_and_test(); - atomic_add_negative(); - atomic_add_unless(); /* when succeeds (returns 1) */ + atomic_xchg(); atomic_long_xchg(); + atomic_cmpxchg(); atomic_long_cmpxchg(); + atomic_inc_return(); atomic_long_inc_return(); + atomic_dec_return(); atomic_long_dec_return(); + atomic_add_return(); atomic_long_add_return(); + atomic_sub_return(); atomic_long_sub_return(); + atomic_inc_and_test(); atomic_long_inc_and_test(); + atomic_dec_and_test(); atomic_long_dec_and_test(); + atomic_sub_and_test(); atomic_long_sub_and_test(); + atomic_add_negative(); atomic_long_add_negative(); test_and_set_bit(); test_and_clear_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 operations and adjusting reference counters towards object destruction, and as such the implicit memory barrier effects are necessary. ^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2013-12-16 10:40 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <1386799151-2219-2-git-send-email-paulmck@linux.vnet.ibm.com>
2013-12-16 10:39 ` [tip:core/locking] Documentation/memory-barriers.txt: Add long atomic examples to memory-barriers.txt tip-bot for Paul E. McKenney
2013-12-16 10:39 ` tip-bot for Paul E. McKenney
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox