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