]> asedeno.scripts.mit.edu Git - linux.git/commit
tools/memory-model: Change definition of rcu-fence
authorAlan Stern <stern@rowland.harvard.edu>
Thu, 20 Jun 2019 15:55:46 +0000 (11:55 -0400)
committerPaul E. McKenney <paulmck@linux.ibm.com>
Fri, 21 Jun 2019 23:20:49 +0000 (16:20 -0700)
commit15aa25cbf0ccc4bd63ed6f2a8065decb7f5e6f89
treee3a2ee56ed0089cb5795217eddf0dc3d503eb76a
parentf9de417121001879d92a86960647adb06b5b81bf
tools/memory-model: Change definition of rcu-fence

The rcu-fence relation in the Linux Kernel Memory Model is not well
named.  It doesn't act like any other fence relation, in that it does
not relate events before a fence to events after that fence.  All it
does is relate certain RCU events to one another (those that are
ordered by the RCU Guarantee); this induces an actual
strong-fence-like relation linking events preceding the first RCU
event to those following the second.

This patch renames rcu-fence, now called rcu-order.  It adds a new
definition of rcu-fence, something which should have been present all
along because it is used in the rb relation.  And it modifies the
fence and strong-fence relations by making them incorporate the new
rcu-fence.

As a result of this change, there is no longer any need to define
full-fence in the section for detecting data races.  It can simply be
replaced by the updated strong-fence relation.

This change should have no effect on the operation of 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>
tools/memory-model/linux-kernel.cat