[GIT PULL, v2] locking changes for v6.4

From: Ingo Molnar
Date: Fri May 05 2023 - 04:28:49 EST



Linus,

Please pull the latest locking/core git tree from:

git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git locking-core-2023-05-05

# HEAD: ec570320b09f76d52819e60abdccf372658216b6 locking/atomic: Correct (cmp)xchg() instrumentation

Locking changes in v6.4:

- Introduce local{,64}_try_cmpxchg() - a slightly more optimal
primitive, which will be used in perf events ring-buffer code.

- Simplify/modify rwsems on PREEMPT_RT, to address writer starvation.

- Misc cleanups/fixes.

Thanks,

Ingo

------------------>
Andrzej Hajda (1):
locking/arch: Rename all internal __xchg() names to __arch_xchg()

Mark Rutland (1):
locking/atomic: Correct (cmp)xchg() instrumentation

Sebastian Andrzej Siewior (1):
locking/rwbase: Mitigate indefinite writer starvation

Uros Bizjak (4):
locking/atomic: Add generic try_cmpxchg{,64}_local() support
locking/generic: Wire up local{,64}_try_cmpxchg()
locking/arch: Wire up local_try_cmpxchg()
locking/x86: Define arch_try_cmpxchg_local()


arch/alpha/include/asm/cmpxchg.h | 10 ++--
arch/alpha/include/asm/local.h | 12 +++-
arch/arc/include/asm/cmpxchg.h | 4 +-
arch/arm/include/asm/cmpxchg.h | 7 ++-
arch/arm64/include/asm/cmpxchg.h | 7 +--
arch/hexagon/include/asm/cmpxchg.h | 10 ++--
arch/ia64/include/asm/cmpxchg.h | 2 +-
arch/ia64/include/uapi/asm/cmpxchg.h | 4 +-
arch/loongarch/include/asm/cmpxchg.h | 4 +-
arch/loongarch/include/asm/local.h | 13 ++++-
arch/m68k/include/asm/cmpxchg.h | 6 +-
arch/mips/include/asm/cmpxchg.h | 4 +-
arch/mips/include/asm/local.h | 13 ++++-
arch/openrisc/include/asm/cmpxchg.h | 10 ++--
arch/parisc/include/asm/cmpxchg.h | 4 +-
arch/powerpc/include/asm/cmpxchg.h | 4 +-
arch/powerpc/include/asm/local.h | 11 ++++
arch/riscv/include/asm/atomic.h | 2 +-
arch/riscv/include/asm/cmpxchg.h | 4 +-
arch/s390/include/asm/cmpxchg.h | 8 +--
arch/sh/include/asm/cmpxchg.h | 4 +-
arch/sparc/include/asm/cmpxchg_32.h | 4 +-
arch/sparc/include/asm/cmpxchg_64.h | 6 +-
arch/x86/include/asm/cmpxchg.h | 6 ++
arch/x86/include/asm/local.h | 13 ++++-
arch/xtensa/include/asm/cmpxchg.h | 4 +-
include/asm-generic/local.h | 1 +
include/asm-generic/local64.h | 12 +++-
include/linux/atomic/atomic-arch-fallback.h | 24 +++++++-
include/linux/atomic/atomic-instrumented.h | 86 +++++++++++++++++------------
kernel/locking/rwbase_rt.c | 9 ---
scripts/atomic/gen-atomic-fallback.sh | 4 ++
scripts/atomic/gen-atomic-instrumented.sh | 8 +--
33 files changed, 209 insertions(+), 111 deletions(-)