tools/memory-model: Expand definition of barrier
Commit 66be4e66a7
("rcu: locking and unlocking need to always be at
least barriers") added compiler barriers back into rcu_read_lock() and
rcu_read_unlock(). Furthermore, srcu_read_lock() and
srcu_read_unlock() have always contained compiler barriers.
The Linux Kernel Memory Model ought to know about these barriers.
This patch adds them into the memory model.
Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Acked-by: Andrea Parri <andrea.parri@amarulasolutions.com>
Signed-off-by: Paul E. McKenney <paulmck@linux.ibm.com>
This commit is contained in:
Родитель
37c600a3cc
Коммит
f9de417121
|
@ -45,7 +45,8 @@ let strong-fence = mb | gp
|
|||
let nonrw-fence = strong-fence | po-rel | acq-po
|
||||
let fence = nonrw-fence | wmb | rmb
|
||||
let barrier = fencerel(Barrier | Rmb | Wmb | Mb | Sync-rcu | Sync-srcu |
|
||||
Before-atomic | After-atomic | Acquire | Release) |
|
||||
Before-atomic | After-atomic | Acquire | Release |
|
||||
Rcu-lock | Rcu-unlock | Srcu-lock | Srcu-unlock) |
|
||||
(po ; [Release]) | ([Acquire] ; po)
|
||||
|
||||
(**********************************)
|
||||
|
|
Загрузка…
Ссылка в новой задаче