Re: [PATCH v2] futex: replace bare barrier() with a READ_ONCE()

From: Darren Hart
Date: Wed Mar 02 2016 - 11:41:32 EST


On Wed, Mar 02, 2016 at 09:56:32PM +0800, Jianyu Zhan wrote:
> On Wed, Mar 2, 2016 at 9:35 PM, Christian Borntraeger
> <borntraeger@xxxxxxxxxx> wrote:
> > That change makes sense. I did the original barrier back in 2006 (could you cc me next time?)
>
> Sorry for that, I thought get_maintainer.pl would had spit the
> original author's email, but apparently it didn't :(

get_maintainer gives you the documented maintainers per the MAINTAINERS file, as
well as frequent committers. This patch was in 2008. Always include the author
of patches you are referencing (and that's manual).

>
> > ACCESS_ONCE or READ_ONCE was not available at that time and its now the better way.
> >

Noting this specifically in the commit message helps the argument and why the
change is being made now.

> > This is not an s390 specific problem, it was just triggered there as the gcc cost model
> > considered the memory read as cheap as a register read.
> >
>
> Thanks for the clarification.
>

And as with the original patch (e91467ecd1ef), we should be able to justify the
change with an assembly dump, as Christian did in his commit.

--
Darren Hart
Intel Open Source Technology Center