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
_______________________________________________
Virtualization mailing list
Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx
https://lists.linuxfoundation.org/mailman/listinfo/virtualization