[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1485983620-11958-1-git-send-email-longman@redhat.com>
Date: Wed, 1 Feb 2017 16:13:37 -0500
From: Waiman Long <longman@...hat.com>
To: Peter Zijlstra <peterz@...radead.org>,
Ingo Molnar <mingo@...hat.com>
Cc: linux-kernel@...r.kernel.org, Waiman Long <longman@...hat.com>
Subject: [PATCH v2 0/3] locking/spinlock_debug: Change it to a mostly fair lock
v1->v2:
- Pack lockup and break_lock into a single 4-byte slot so as not
to in increase spinlock size when GENERIC_LOCKBREAK is
on. Hopefully that will be enough to fix a frame size too large
warning in 0-day build.
- Add a new patch to disable GENERIC_LOCKBREAK when DEBUG_LOCK_ALLOC
is on.
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 (3):
locking/spinlock_debug: Reduce lockup suspected message clutter
locking/spinlock_debug: Reduce lock cacheline contention
locking/spinlock: Disable GENERIC_LOCKBREAK when DEBUG_LOCK_ALLOC is
on
arch/m32r/Kconfig | 2 +-
arch/parisc/Kconfig | 2 +-
arch/powerpc/Kconfig | 2 +-
arch/s390/Kconfig | 2 +-
arch/sh/Kconfig | 2 +-
arch/sparc/Kconfig | 2 +-
include/linux/spinlock_types.h | 9 +++--
kernel/locking/spinlock_debug.c | 73 ++++++++++++++++++++++++++++++-----------
8 files changed, 65 insertions(+), 29 deletions(-)
--
1.8.3.1
Powered by blists - more mailing lists