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
* Jeremy Fitzhardinge (jeremy@goop.org) wrote:
> Mathieu Desnoyers wrote:
>> A virtualized guest kernel could use that to limit its use of the
>> overall machine CPU resources in different time periods. Policies can
>> determine how many physical CPU a virtual machine can be tied to, and
>> that may change depending on e.g. the workload or time of day. Having
>> the ability to efficiently switch to UP for a long period of time seems
>> important in this use-case.
>
> Not very convinced. Unplugging cpus is a pretty coarse way to control
> resource use. There are lots of other mechanisms. And it's not like an
> uncontended lock is all that expensive these days...
>
> J
>

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

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 %

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

Mathieu


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


\
 
 \ /
  Last update: 2008-08-14 17:25    [W:0.118 / U:0.748 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site