[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