[GIT PULL] asm-generic: New generic ticket-based spinlock

From: Palmer Dabbelt
Date: Mon May 09 2022 - 18:33:58 EST


The following changes since commit 3123109284176b1532874591f7c81f3837bbdc17:

Linux 5.18-rc1 (2022-04-03 14:08:21 -0700)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/palmer/linux.git tags/generic-ticket-spinlocks-v5

for you to fetch changes up to ed9604312e917c3167f156025f45245d4971415d:

asm-generic: qrwlock: Document the spinlock fairness requirements (2022-05-09 12:42:17 -0700)

----------------------------------------------------------------
asm-generic: New generic ticket-based spinlock

This contains a new ticket-based spinlock that uses only generic
atomics and doesn't require as much from the memory system as qspinlock
does in order to be fair. It also includes a bit of documentation about
the qspinlock and qrwlock fairness requirements.

This will soon be used by a handful of architectures that don't meet the
qspinlock requirements.

----------------------------------------------------------------
This is aimed towards at least Arnd's tree, assuming it lands I'll deal with
the follow-on bits as per the notes in v5 of the whole patch set.

----------------------------------------------------------------
Palmer Dabbelt (1):
asm-generic: qrwlock: Document the spinlock fairness requirements

Peter Zijlstra (2):
asm-generic: ticket-lock: New generic ticket-based spinlock
asm-generic: qspinlock: Indicate the use of mixed-size atomics

include/asm-generic/qrwlock.h | 4 ++
include/asm-generic/qspinlock.h | 29 +++++++++++
include/asm-generic/spinlock.h | 94 +++++++++++++++++++++++++++++++++---
include/asm-generic/spinlock_types.h | 17 +++++++
4 files changed, 137 insertions(+), 7 deletions(-)
create mode 100644 include/asm-generic/spinlock_types.h