[PATCH 0/7] perpcu rwsem, fs/locks and killing lglocks

From: Peter Zijlstra
Date: Mon Sep 05 2016 - 15:42:20 EST


Hi all,

Here are some patches that I've been sitting on for far too long now.

They're a respin of earlier work [1], and have been verified by Daniel Wagner
to not suffer the regression he measured with the previous set (part of which
was operator error).

Patches 4 and 5 were needed to solve a (smallish) performance regression on
CONFIG_PREEMPT=y. They avoid a number of preemption points (and code).

I was going to gather pretty numbers from Daniels data, but I keep putting that
off and figured I ought to send the patches already.

[1] https://lkml.kernel.org/r/20150622121623.291363374@xxxxxxxxxxxxx

---
Documentation/locking/lglock.txt | 166 ---------------------------------------
fs/Kconfig | 1 +
fs/locks.c | 68 +++++++++++-----
include/linux/lglock.h | 81 -------------------
include/linux/percpu-rwsem.h | 36 +++++++--
kernel/locking/Makefile | 1 -
kernel/locking/lglock.c | 111 --------------------------
kernel/stop_machine.c | 42 ++++++----
8 files changed, 107 insertions(+), 399 deletions(-)