[PATCH v3 0/6] powerpc use pv-qpsinlock as the default spinlock implemention
xinhui
xinhui.pan at linux.vnet.ibm.com
Fri May 27 20:52:58 AEST 2016
On 2016年05月27日 00:50, Peter Zijlstra wrote:
> On Wed, May 25, 2016 at 04:18:03PM +0800, Pan Xinhui wrote:
>
>> _____test________________spinlcok______________pv-qspinlcok_____
>> |futex hash | 556370 ops | 629634 ops |
>> |futex lock-pi | 362 ops | 367 ops |
>>
>> scheduler test:
>> Test how many loops of schedule() can finish within 10 seconds on all cpus.
>>
>> _____test________________spinlcok______________pv-qspinlcok_____
>> |schedule() loops| 322811921 | 311449290 |
>>
>> kernel compiling test:
>> build a linux kernel image to see how long it took
>>
>> _____test________________spinlcok______________pv-qspinlcok_____
>> | compiling takes| 22m | 22m |
>
>
> s/spinlcok/spinlock/
>
Oh, foolish mistake...sorry
> Is 'spinlcok' the current test-and-set lock?
>
Yes. I will describe it in a clear way in the next patchset.
> And what about regular qspinlock, in case of !SHARED_PROCESSOR?
>
You mean the test results on powerNV?
yes, I make a kernel build with !SHARED_PROCESSOR.
and do perf tests and scheduler tests on same machine(32 cpus). performance is better than current spinlock
_____test________________spinlock________________qspinlock_____
|futex hash | 533060 ops | 541513 ops |
|futex lock-pi | 357 ops | 356 ops |
_____test________________spinlock________________qspinlock_____
|schedule() loops| 337691713 | 361935207 |
NOTE: I have updated the scheduler test tools, and the new performance test results show that both pv-spinlock and qspinlock is better than current spinlock.
I will also update the test result in my next patchset.
thanks
xinhui
More information about the Linuxppc-dev
mailing list