lkml.org 
[lkml]   [2008]   [Aug]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [RFC PATCH] x86 alternatives : fix LOCK_PREFIX race with preemptible kernel and CPU hotplug
    * H. Peter Anvin (hpa@zytor.com) wrote:
    > Mathieu Desnoyers wrote:
    >> I can't argue about the benefit of using VM CPU pinning to manage
    >> resources because I don't use it myself, but I ran some tests out of
    >> curiosity to find if uncontended locks were that cheap, and it turns out
    >> they aren't. Here are the results :
    >> Xeon 2.0GHz
    >> Summary
    >> make -j1 kernel/ 33.94 +/- 0.07 34.91 +/- 0.27 2.8 %
    >> hackbench 50 2.99 +/- 0.01 3.74 +/- 0.01 25.1 %
    >> 1 CPU, replace smp lock prefixes with DS segment selector prefixes
    >> 1 CPU, noreplace-smp
    >
    > For reference, could you also compare replace smp lock with NOPs?
    >
    > -hpa

    Sure, here are the updated tables. Basically, they show no significant
    difference between the NOP and the DS segment selector prefix
    approaches.


    Xeon 2.0GHz


    Summary


    * replace smp lock prefixes with DS segment selector prefixes
    no lock prefix (s) with lock prefix (s) Speedup
    make -j1 kernel/ 33.94 +/- 0.07 34.91 +/- 0.27 2.8 %
    hackbench 50 2.99 +/- 0.01 3.74 +/- 0.01 25.1 %


    * replace smp lock prefixes with 0x90 nops
    no lock prefix (s) with lock prefix (s) Speedup
    make -j1 kernel/ 34.16 +/- 0.32 34.91 +/- 0.27 2.2 %
    hackbench 50 3.00 +/- 0.01 3.74 +/- 0.01 24.7 %



    Detail :


    1 CPU, replace smp lock prefixes with DS segment selector prefixes

    make -j1 kernel/

    real 0m34.067s
    user 0m30.630s
    sys 0m2.980s

    real 0m33.867s
    user 0m30.582s
    sys 0m3.024s

    real 0m33.939s
    user 0m30.738s
    sys 0m2.876s

    real 0m33.913s
    user 0m30.806s
    sys 0m2.808s

    avg : 33.94s
    std. dev. : 0.07s

    hackbench 50

    Time: 2.978
    Time: 2.982
    Time: 3.010
    Time: 2.984
    Time: 2.982

    avg : 2.99
    std. dev. : 0.01



    1 CPU, noreplace-smp

    make -j1 kernel/

    real 0m35.326s
    user 0m30.630s
    sys 0m3.260s

    real 0m34.325s
    user 0m30.802s
    sys 0m3.084s

    real 0m35.568s
    user 0m30.722s
    sys 0m3.168s

    real 0m34.435s
    user 0m30.886s
    sys 0m2.996s

    avg.: 34.91s
    std. dev. : 0.27s

    hackbench 50

    Time: 3.733
    Time: 3.750
    Time: 3.761
    Time: 3.737
    Time: 3.741

    avg : 3.74
    std. dev. : 0.01



    1 CPU, replace smp lock prefixes with 0x90 nops

    make -j1 kernel/

    real 0m34.139s
    user 0m30.782s
    sys 0m2.820s

    real 0m34.010s
    user 0m30.630s
    sys 0m2.976s

    real 0m34.777s
    user 0m30.658s
    sys 0m2.916s

    real 0m33.924s
    user 0m30.634s
    sys 0m2.924s

    real 0m33.962s
    user 0m30.774s
    sys 0m2.800s

    real 0m34.141s
    user 0m30.770s
    sys 0m2.828s


    avg : 34.16
    std. dev. : 0.32


    hackbench 50

    Time: 2.999
    Time: 2.994
    Time: 3.004
    Time: 2.991
    Time: 2.988

    avg : 3.00
    std. dev. : 0.01



    --
    Mathieu Desnoyers
    OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68


    \
     
     \ /
      Last update: 2008-08-14 19:01    [W:0.026 / U:1.408 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site