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.106 / U:0.160 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site