summaryrefslogtreecommitdiff
path: root/tools/memory-model/linux-kernel.def
diff options
context:
space:
mode:
authorPaul E. McKenney <paulmck@kernel.org>2023-01-29 20:41:44 +0300
committerPaul E. McKenney <paulmck@kernel.org>2023-03-22 22:02:21 +0300
commit02bae7a24257947fe95fcca80c78e6cb602e94bf (patch)
tree2c8cade39b72d52e748157c284c7b47174879058 /tools/memory-model/linux-kernel.def
parentdd409de256333899b2632c769dc798b7db537397 (diff)
downloadlinux-02bae7a24257947fe95fcca80c78e6cb602e94bf.tar.xz
tools/memory-model: Add smp_mb__after_srcu_read_unlock()
This commit adds support for smp_mb__after_srcu_read_unlock(), which, when combined with a prior srcu_read_unlock(), implies a full memory barrier. No ordering is guaranteed to accesses between the two, and placing accesses between is bad practice in any case. Tests may be found at https://github.com/paulmckrcu/litmus in files matching manual/kernel/C-srcu-mb-*.litmus. Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
Diffstat (limited to 'tools/memory-model/linux-kernel.def')
-rw-r--r--tools/memory-model/linux-kernel.def1
1 files changed, 1 insertions, 0 deletions
diff --git a/tools/memory-model/linux-kernel.def b/tools/memory-model/linux-kernel.def
index ef0f3c1850de..a6b6fbc9d0b2 100644
--- a/tools/memory-model/linux-kernel.def
+++ b/tools/memory-model/linux-kernel.def
@@ -24,6 +24,7 @@ smp_mb__before_atomic() { __fence{before-atomic}; }
smp_mb__after_atomic() { __fence{after-atomic}; }
smp_mb__after_spinlock() { __fence{after-spinlock}; }
smp_mb__after_unlock_lock() { __fence{after-unlock-lock}; }
+smp_mb__after_srcu_read_unlock() { __fence{after-srcu-read-unlock}; }
barrier() { __fence{barrier}; }
// Exchange