Re: [PATCH v3 0/6] powerpc use pv-qpsinlock as the default spinlock implemention
From: xinhui
Date: Fri May 27 2016 - 06:53:37 EST
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