Providing RCU's memory-ordering guarantees requires that the rcu_node tree's locking provide transitive memory ordering, which the Linux kernel's spinlocks currently do not provide unless smp_mb__after_unlock_lock() is used. Having a separate smp_mb__after_unlock_lock() after each and every lock acquisition is error-prone, hard to read, and a bit annoying, so this commit provides wrapper functions that pull in the smp_mb__after_unlock_lock() invocations. Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com> |
||
|---|---|---|
| .. | ||
| Makefile | ||
| rcu.h | ||
| rcutorture.c | ||
| srcu.c | ||
| sync.c | ||
| tiny.c | ||
| tiny_plugin.h | ||
| tree.c | ||
| tree.h | ||
| tree_plugin.h | ||
| tree_trace.c | ||
| update.c | ||