Re: [GIT PULL] Locking changes for v4.2

From: Waiman Long
Date: Fri Jun 26 2015 - 13:27:35 EST


On 06/26/2015 05:11 AM, Eric Dumazet wrote:
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

I am glad that the qspinlock patch helps. May I know what kind of machine (cpu type, # of sockets, etc) that you are running the test on? Usually the more sockets the machine has, the bigger the improvement you will see.

Cheers,
Longman
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/