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/[email protected] --- 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(-)

