[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <YwpAzTwSRCK5kdLN@rowland.harvard.edu>
Date: Sat, 27 Aug 2022 12:05:33 -0400
From: Alan Stern <stern@...land.harvard.edu>
To: Peter Zijlstra <peterz@...radead.org>
Cc: "Paul E. McKenney" <paulmck@...nel.org>, parri.andrea@...il.com,
will@...nel.org, boqun.feng@...il.com, npiggin@...il.com,
dhowells@...hat.com, j.alglave@....ac.uk, luc.maranget@...ia.fr,
akiyks@...il.com, dlustig@...dia.com, joel@...lfernandes.org,
linux-kernel@...r.kernel.org, linux-arch@...r.kernel.org
Subject: Re: "Verifying and Optimizing Compact NUMA-Aware Locks on Weak
Memory Models"
On Sat, Aug 27, 2022 at 01:47:48AM +0200, Peter Zijlstra wrote:
> On Fri, Aug 26, 2022 at 01:10:39PM -0400, Alan Stern wrote:
>
> > > - some babbling about a missing propagation -- ISTR Linux if stuffed
> > > full of them, specifically we require stores to auto propagate
> > > without help from barriers
> >
> > Not a missing propagation; a late one.
> >
> > Don't understand what you mean by "auto propagate without help from
> > barriers".
>
> Linux hard relies on:
>
> CPU0 CPU1
>
> WRITE_ONCE(foo, 1); while (!READ_ONCE(foo));
>
> making forward progress.
Indeed yes. As far as I can tell, this requirement is not explicitly
mentioned in the LKMM, although it certainly is implicit. I can't even
think of a way to express it in a form Herd could verify.
> There were a few 'funny' uarchs that were broken, see for example commit
> a30718868915f.
Ha! That commit should be a lesson in something, although I'm not sure
what. :-)
Alan
Powered by blists - more mailing lists