Re: [PATCH 2/2] tools/memory-model: Add write ordering by release-acquire and by locks

From: Daniel Lustig
Date: Thu Jul 05 2018 - 11:44:46 EST

On 7/5/2018 8:31 AM, Paul E. McKenney wrote:
> On Thu, Jul 05, 2018 at 10:21:36AM -0400, Alan Stern wrote:
>> At any rate, it looks like instead of strengthening the relation, I
>> should write a patch that removes it entirely. I also will add new,
>> stronger relations for use with locking, essentially making spin_lock
>> and spin_unlock be RCsc.
> Only in the presence of smp_mb__after_unlock_lock() or
> smp_mb__after_spinlock(), correct? Or am I confused about RCsc?
> Thanx, Paul

In terms of what you're asking for really RCsc? To me,
that would imply that even stores in the first critical section would
need to be ordered before loads in the second critical section.
Meaning that even x86 would need an mfence in either lock() or unlock()?

If you're only looking for R->R, R->W, and W->W ordering between
critical sections, is it better to find a new unique name for this?
"RCtso" possibly, or something to that effect?