Messages in this thread | | | Subject | Re: [GIT PULL] Locking changes for v4.2 | From | Eric Dumazet <> | Date | Fri, 26 Jun 2015 11:11:50 +0200 |
| |
On Mon, 2015-06-22 at 09:30 +0200, Ingo Molnar wrote: > Linus, > > Please pull the latest locking-core-for-linus git tree from: > > git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git locking-core-for-linus > > # HEAD: 68722101ec3a0e179408a13708dd020e04f54aab locking/lockdep: Remove hard coded array size dependency > > The main changes are: > > - 'qspinlock' support, enabled on x86: queued spinlocks - these are now the > spinlock variant used by x86 as they outperform ticket spinlocks in every > category. (Waiman Long)
Very interesting.
While rebasing http://www.kernelhub.org/?msg=737214&p=2
I found that indeed qspinlock improved the scalability issue by a big factor.
linux-4.1
lpaa23:~# pipebench -n 16 threads:16 sleep:30 pinned:1 total operations: 6977349, ops/sec 232578 6977349
lpaa23:~# pipebench -n 16 threads:16 sleep:30 pinned:1 total operations: 7326280, ops/sec 244209 7326280
Current Linus tree :
lpaa23:~# pipebench -n 16 threads:16 sleep:30 pinned:1 total operations: 15640802, ops/sec 521360 15640802
lpaa23:~# pipebench -n 16 threads:16 sleep:30 pinned:1 total operations: 15045022, ops/sec 501500 15045022
Adding fd_install() patch then :
lpaa23:~# pipebench -n 16 threads:16 sleep:30 pinned:1 total operations: 21471043, ops/sec 715701 21471043
lpaa23:~# pipebench -n 16 threads:16 sleep:30 pinned:1 total operations: 21068501, ops/sec 702283 21068501
| |