[PATCH 0/2] locking/spinlock_debug: Change it to a mostly fair lock

From: Waiman Long
Date: Wed Feb 01 2017 - 13:26:57 EST


The current debug spinlock implementation is a TATAS unfair lock. This
can occasionally lead to system lockup with a debug kernel because
of the unfairness of the lock rather than inherent locking problem.

This patch set changes the debug spinlock implementation to a
mostly fair spinlock based on the MCS lock similar to what is done
in qspinlock.

Waiman Long (2):
locking/spinlock_debug: Reduce lockup suspected message clutter
locking/spinlock_debug: Reduce lock cacheline contention

include/linux/spinlock_types.h | 8 +++--
kernel/locking/spinlock_debug.c | 73 ++++++++++++++++++++++++++++++-----------
2 files changed, 58 insertions(+), 23 deletions(-)

--
1.8.3.1