Re: [RFC PATCH] tools/memory-model: Remove (dep ; rfi) from ppo

From: Paul E. McKenney
Date: Tue Feb 26 2019 - 09:28:57 EST


On Tue, Feb 26, 2019 at 02:49:06PM +0100, Peter Zijlstra wrote:
> On Tue, Feb 26, 2019 at 12:38:13PM +0100, Borislav Petkov wrote:
> > On Tue, Feb 26, 2019 at 12:30:08PM +0100, Peter Zijlstra wrote:
> > > When I used the argc variant, gcc-8 'works', but with s/argc/1/ it is
> > > still broken.
> >
> > As requested on IRC:
>
> What I asked was if you could get your GCC developer friends to have a
> look at this :-)

Yes, this all is a bit on the insane side from a kernel viewpoint.
But the paper you found does not impose this; it has instead been there
for about 20 years, back before C and C++ admitted to the existence
of concurrency. But of course compilers are getting more aggressive,
and yes, some of the problems show up in single-threaded code.

The usual response is "then cast the pointers to intptr_t!" but of
course that breaks type checking.

There is an effort to claw back the concurrency pieces, and I would
be happy to run the resulting paper past you guys.

I must confess to not being all that sympathetic to code that takes
advantage of happenstance stack-frame layout. Is there some reason
we need that?

Thanx, Paul