Messages in this thread | | | Date | Fri, 22 Feb 2008 08:46:16 -0500 (EST) | From | Steven Rostedt <> | Subject | Re: [PATCH [RT] 05/14] rearrange rt_spin_lock sleep |
| |
Gregory,
I guess we should have just read Documentation/memory-barriers.text
Here's the snippet:
Any atomic operation that modifies some state in memory and returns information about the state (old or new) implies an SMP-conditional general memory barrier (smp_mb()) on each side of the actual operation (with the exception of explicit lock operations, described later). These include:
xchg(); cmpxchg(); 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(); test_and_set_bit(); test_and_clear_bit(); test_and_change_bit();
-- Steve
| |