lkml.org 
[lkml]   [2014]   [Oct]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH] futex: Ensure get_futex_key_refs() always implies a barrier
    On Sat, 18 Oct 2014, Davidlohr Bueso wrote:
    > On Sat, 2014-10-18 at 13:50 -0700, Linus Torvalds wrote:
    > > On Sat, Oct 18, 2014 at 12:58 PM, Davidlohr Bueso <dave@stgolabs.net> wrote:
    > > >
    > > > And [get/put]_futex_keys() shouldn't even be called for private futexes.
    > > > The following patch had some very minor testing on a 60 core box last
    > > > night, but passes both Darren's and perf's tests. So I *think* this is
    > > > right, but lack of sleep and I overall just don't trust them futexes!
    > >
    > > Hmm. I don't see the advantage of making the code more complex in
    > > order to avoid the functions that are no-ops for the !fshared case?
    > >
    > > IOW, as far as I can tell, this patch doesn't actually really *change*
    > > anything. Am I missing something?
    >
    > Right, all we do is avoid a NOP, but I don't see how this patch makes
    > the code more complex. In fact, the whole idea is to make it easier to
    > read and makes the key referencing differences between shared and
    > private futexes crystal clear, hoping to mitigate future bugs.

    I tend to disagree. The current code is symetric versus get/drop and
    you make it unsymetric by avoiding the drop call with a pointless
    extra conditional in all call sites.

    I really had to look twice to figure out that the patch is correct,
    but I really cannot see any value and definitely have a hard time how
    this makes the code clearer and would prevent future bugs.

    I rather keep it symetric and document the NOP property for private
    futexes in both get and drop.

    Thanks,

    tglx




    \
     
     \ /
      Last update: 2014-10-20 11:21    [W:4.119 / U:0.104 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site