diff options
author | Paul E. McKenney <paulmck@kernel.org> | 2023-01-29 09:41:44 -0800 |
---|---|---|
committer | Paul E. McKenney <paulmck@kernel.org> | 2023-03-22 12:02:21 -0700 |
commit | 02bae7a24257947fe95fcca80c78e6cb602e94bf (patch) | |
tree | 2c8cade39b72d52e748157c284c7b47174879058 /tools/memory-model/linux-kernel.bell | |
parent | dd409de256333899b2632c769dc798b7db537397 (diff) | |
download | linux-stable-02bae7a24257947fe95fcca80c78e6cb602e94bf.tar.gz linux-stable-02bae7a24257947fe95fcca80c78e6cb602e94bf.tar.bz2 linux-stable-02bae7a24257947fe95fcca80c78e6cb602e94bf.zip |
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.bell')
-rw-r--r-- | tools/memory-model/linux-kernel.bell | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/tools/memory-model/linux-kernel.bell b/tools/memory-model/linux-kernel.bell index dc464854d28a..b92fdf7f6eeb 100644 --- a/tools/memory-model/linux-kernel.bell +++ b/tools/memory-model/linux-kernel.bell @@ -31,7 +31,8 @@ enum Barriers = 'wmb (*smp_wmb*) || 'before-atomic (*smp_mb__before_atomic*) || 'after-atomic (*smp_mb__after_atomic*) || 'after-spinlock (*smp_mb__after_spinlock*) || - 'after-unlock-lock (*smp_mb__after_unlock_lock*) + 'after-unlock-lock (*smp_mb__after_unlock_lock*) || + 'after-srcu-read-unlock (*smp_mb__after_srcu_read_unlock*) instructions F[Barriers] (* SRCU *) |