[<prev] [next>] [day] [month] [year] [list]
Message-ID: <Pine.LNX.4.44L0.1807111333030.1436-100000@iolanthe.rowland.org>
Date: Wed, 11 Jul 2018 13:36:14 -0400 (EDT)
From: Alan Stern <stern@...land.harvard.edu>
To: David Laight <David.Laight@...LAB.COM>
cc: "Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>,
LKMM Maintainers -- Akira Yokosawa <akiyks@...il.com>,
Andrea Parri <andrea.parri@...rulasolutions.com>,
Boqun Feng <boqun.feng@...il.com>,
Daniel Lustig <dlustig@...dia.com>,
David Howells <dhowells@...hat.com>,
Jade Alglave <j.alglave@....ac.uk>,
Luc Maranget <luc.maranget@...ia.fr>,
Nicholas Piggin <npiggin@...il.com>,
Peter Zijlstra <peterz@...radead.org>,
Will Deacon <will.deacon@....com>,
Kernel development list <linux-kernel@...r.kernel.org>
Subject: RE: [PATCH v3] tools/memory-model: Add extra ordering for locks and
remove it for ordinary release/acquire
On Wed, 11 Jul 2018, David Laight wrote:
> > From: Alan Stern
> > Sent: 10 July 2018 19:18
> > More than one kernel developer has expressed the opinion that the LKMM
> > should enforce ordering of writes by locking. In other words, given
> > the following code:
> >
> > WRITE_ONCE(x, 1);
> > spin_unlock(&s):
> > spin_lock(&s);
> > WRITE_ONCE(y, 1);
> >
> > the stores to x and y should be propagated in order to all other CPUs,
> > even though those other CPUs might not access the lock s. In terms of
> > the memory model, this means expanding the cumul-fence relation.
>
> The usual 'elephant in the room' is Alpha.
> I don't claim to understand the alpha memory model but it wouldn't
> surprise me if the above is impossible to implement on alpha.
It's not impossible, since Alpha does have a full memory barrier
instruction (and the implementation uses it).
Alan
Powered by blists - more mailing lists