Re: [PATCH v2] locking/rwsem: Add reader-owned state to the owner field

From: Paul E. McKenney
Date: Thu May 19 2016 - 09:43:34 EST


On Thu, May 19, 2016 at 11:00:13AM +0200, Peter Zijlstra wrote:
> On Wed, May 18, 2016 at 10:26:06AM -0700, Paul E. McKenney wrote:
> > On Wed, May 18, 2016 at 01:05:55PM +0200, Peter Zijlstra wrote:
>
> > > Alternatively, could we try and talk to our GCC friends to make sure GCC
> > > doesn't tear loads/stores irrespective of what the C language spec
> > > allows?
> >
> > Interestingly enough, they used to make that guarantee, but removed it
> > when C11 showed up.
>
> Did someone tell them this was a regression and have them fix it? They
> can't just change things like this.

I did, informally. I was told that the atomics were to replace them.
I have been bugging them about volatile ever since, given that some
people would dearly like to eliminate volatile from the language. (I
believe I am making good progress on preventing this, with a lot of help
more recently.)

> > Me, I would feel better explicitly telling the compiler what I needed.
> > It is all too easy for bugs to slip in otherwise, especially when the
> > gcc guys are adding exciting new optimizations.
>
> GCC guys (as opposed to the language guys) should be far more amenable
> to our needs, and I don't think they want to break the kernel any more
> than we do.

Some are, some aren't. We should of course cherish the ones who would
like to avoid breaking the kernel.

Thanx, Paul