Messages in this thread | | | Date | Tue, 2 Feb 2016 21:18:18 +0800 | From | Boqun Feng <> | Subject | Re: [RFC][PATCH] mips: Fix arch_spin_unlock() |
| |
On Tue, Feb 02, 2016 at 12:20:25PM +0000, Will Deacon wrote: [...] > > > > > > > > Besides, Will, what's the reason of having a locally transitive chain > > > > termination? Because on some architectures RELEASE->DEPENDENCY pairs may > > > > not be locally transitive? > > > > > > Well, the following ISA2 test is permitted on ARM: > > > > > > > > > P0: > > > Wx=1 > > > WyRel=1 // rcu_assign_pointer > > > > > > P1: > > > Ry=1 // rcu_dereference > > > > What if a <addr> dependency is added here? Same result? > > Right, that fixes it. So if we're only considering things like: > > rcu_dereference > <addr> > RELEASE > > then local transitivity should be preserved. > > I think the same applies to <ctrl>, which seems to match your later > example. >
Thank you ;-)
Now I understand why you want thoses pairings to be locally transitive chain terminations, they have more subtle requirements to extend locally transitive chains and slight different behaviors on different architectures. It's better for us to put them aside until we figure out thoses subtle requirements and different behaviors.
Regards, Boqun
> Will [unhandled content-type:application/pgp-signature] | |