RE: [PATCH 14/15] futex: convert futex_pi_state.refcount to refcount_t

From: Reshetova, Elena
Date: Mon Sep 04 2017 - 06:32:07 EST




> -----Original Message-----
> From: Peter Zijlstra [mailto:peterz@xxxxxxxxxxxxx]
> Sent: Friday, September 1, 2017 10:13 PM
> To: Reshetova, Elena <elena.reshetova@xxxxxxxxx>
> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>; linux-kernel@xxxxxxxxxxxxxxx; linux-
> fsdevel@xxxxxxxxxxxxxxx; gregkh@xxxxxxxxxxxxxxxxxxx; viro@xxxxxxxxxxxxxxxxxx;
> tj@xxxxxxxxxx; mingo@xxxxxxxxxx; hannes@xxxxxxxxxxx; lizefan@xxxxxxxxxx;
> acme@xxxxxxxxxx; alexander.shishkin@xxxxxxxxxxxxxxx; eparis@xxxxxxxxxx;
> akpm@xxxxxxxxxxxxxxxxxxxx; arnd@xxxxxxxx; luto@xxxxxxxxxx;
> keescook@xxxxxxxxxxxx; dvhart@xxxxxxxxxxxxx; ebiederm@xxxxxxxxxxxx
> Subject: Re: [PATCH 14/15] futex: convert futex_pi_state.refcount to refcount_t
>
> On Fri, Sep 01, 2017 at 05:03:55PM +0000, Reshetova, Elena wrote:
> > > On Fri, Sep 01, 2017 at 01:24:16PM +0000, Reshetova, Elena wrote:
> > > >
> > > > > On Fri, Sep 01, 2017 at 11:05:33AM +0000, Reshetova, Elena wrote:
> > > > > > Actually on the second thought: does the above memory ordering
> differences
> > > > > > really apply when we have ARCH_HAS_REFCOUNT? To me it looks like the
> way
> > > > > > how it is currently implemented for x86 is the same way as it is for atomic
> > > cases.
> > > > >
> > > > > Never look to x86 for memory ordering, its boring.
> > > > >
> > > > > And yes, for the ARM implementation it can certainly make a difference.
> > > >
> > > > So, yes, what I am trying to say is that it can really depend if you have
> > > ARCH_HAS_REFCOUNT
> > > > enabled or not and then also based on architecture. Thus I believe is also true
> for
> > > atomic: there
> > > > might be differences when you use arch. dependent version of function or not.
> > >
> > > So the generic one in lib/refcount.c is already weaker on ARM, they
> > > don't need to do a ARCH specific 'fast' implementation for the
> > > difference to show up.
> >
> > But can they make "fast" implementation on ARM that would give stronger
> memory guarantees?
>
> Whatever for?

Well, maybe just by default when arch.-specific implementation is done. But I was just trying to speculate
to understand. I will resend this one with new comment added.

Still not sure if I need to resend the whole series with updated commits
or break this up by individual patches further for the separate merges.