[PATCH 0/2] locking/qspinlock: Allow lock to store lock holder cpu number

From: Waiman Long
Date: Sat Jul 11 2020 - 14:23:00 EST


This patchset modifies the qspinlock code to allow it to store the lock
holder cpu number in the lock itself if feasible for easier debugging
and crash dump analysis. This lock holder cpu information may also be
useful to architectures like PowerPC that needs the lock holder cpu
number for better paravirtual spinlock performance.

A new config option QUEUED_SPINLOCKS_CPUINFO is added. If this config
option is set, lock holder cpu number will always be stored if the
number is small enough. Without this option, lock holder cpu number
will only be stored in the slowpath of the native qspinlock.

Waiman Long (2):
locking/qspinlock: Store lock holder cpu in lock if feasible
locking/pvqspinlock: Optionally store lock holder cpu into lock

arch/Kconfig | 12 ++++++
arch/x86/include/asm/qspinlock_paravirt.h | 9 ++--
include/asm-generic/qspinlock.h | 13 ++++--
include/asm-generic/qspinlock_types.h | 5 +++
kernel/locking/qspinlock.c | 50 +++++++++++++++--------
kernel/locking/qspinlock_paravirt.h | 41 ++++++++++---------
6 files changed, 87 insertions(+), 43 deletions(-)

--
2.18.1