[RFC][PATCH 0/3] locking/mutex: Rewrite basic mutex

From: Peter Zijlstra
Date: Tue Aug 23 2016 - 08:51:37 EST


... might eat your pets and set your house on fire ...

But they seem to boot and build kernels on my x86_64.

---
arch/alpha/include/asm/mutex.h | 9 --
arch/arc/include/asm/mutex.h | 18 ---
arch/arm/include/asm/mutex.h | 21 ---
arch/arm64/include/asm/Kbuild | 1 -
arch/avr32/include/asm/mutex.h | 9 --
arch/blackfin/include/asm/Kbuild | 1 -
arch/c6x/include/asm/mutex.h | 6 -
arch/cris/include/asm/mutex.h | 9 --
arch/frv/include/asm/mutex.h | 9 --
arch/h8300/include/asm/mutex.h | 9 --
arch/hexagon/include/asm/mutex.h | 8 -
arch/ia64/include/asm/mutex.h | 90 -----------
arch/m32r/include/asm/mutex.h | 9 --
arch/m68k/include/asm/Kbuild | 1 -
arch/metag/include/asm/Kbuild | 1 -
arch/microblaze/include/asm/mutex.h | 1 -
arch/mips/include/asm/Kbuild | 1 -
arch/mn10300/include/asm/mutex.h | 16 --
arch/nios2/include/asm/mutex.h | 1 -
arch/openrisc/include/asm/mutex.h | 27 ----
arch/parisc/include/asm/Kbuild | 1 -
arch/powerpc/include/asm/mutex.h | 132 ---------------
arch/s390/include/asm/mutex.h | 9 --
arch/score/include/asm/mutex.h | 6 -
arch/sh/include/asm/mutex-llsc.h | 109 -------------
arch/sh/include/asm/mutex.h | 12 --
arch/sparc/include/asm/Kbuild | 1 -
arch/tile/include/asm/Kbuild | 1 -
arch/um/include/asm/Kbuild | 1 -
arch/unicore32/include/asm/mutex.h | 20 ---
arch/x86/include/asm/mutex.h | 5 -
arch/x86/include/asm/mutex_32.h | 110 -------------
arch/x86/include/asm/mutex_64.h | 127 ---------------
arch/xtensa/include/asm/mutex.h | 9 --
include/asm-generic/mutex-dec.h | 88 ----------
include/asm-generic/mutex-null.h | 19 ---
include/asm-generic/mutex-xchg.h | 120 --------------
include/asm-generic/mutex.h | 9 --
include/linux/mutex-debug.h | 24 ---
include/linux/mutex.h | 44 +++--
kernel/Kconfig.locks | 2 +-
kernel/locking/mutex-debug.c | 13 --
kernel/locking/mutex-debug.h | 10 --
kernel/locking/mutex.c | 311 +++++++++++++++---------------------
kernel/locking/mutex.h | 26 ---
kernel/sched/core.c | 2 +-
46 files changed, 160 insertions(+), 1298 deletions(-)