lkml.org 
[lkml]   [2018]   [Apr]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [PATCH 02/10] locking/qspinlock: Remove unbounded cmpxchg loop from locking slowpath
    From
    Date
    On 04/09/2018 10:54 AM, Will Deacon wrote:
    >
    >>> I am not against this patch, but we certainly need to find out a way to
    >>> bring the performance number up closer to what it is before applying
    >>> the patch.
    >> We certainly need to *understand* where the drop is coming from, because
    >> the two-threaded case is still just a CAS on x86 with and without this
    >> patch series. Generally, there's a throughput cost when ensuring fairness
    >> and forward-progress otherwise we'd all be using test-and-set.
    > Whilst I think we still need to address my questions above, I've had a
    > crack at the diff below. Please can you give it a spin? It sticks a trylock
    > on the slowpath before setting pending and replaces the CAS-based set
    > with an xchg (which I *think* is safe, but will need to ponder it some
    > more).
    >
    > Thanks,
    >
    > Will
    >

    Unfortunately, this patch didn't help.

    pending count = 777
    queuing count = 9,991,272
    locking rate = 4,087 kop/s

    -Longman

    \
     
     \ /
      Last update: 2018-04-09 21:33    [W:3.573 / U:0.120 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site