Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1572399

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

From Waiman Long <longman@redhat.com>
Newsgroups linux.kernel
Subject [PATCH v3 0/3] locking/spinlock_debug: Change it to a mostly fair lock
Date 2017-02-02 15:20 +0100
Message-ID <t6qoW-58b-17@gated-at.bofh.it> (permalink)
Organization linux.* mail to news gateway

Show all headers | View raw


 v2->v3:
  - Keep the original v1 patches but move patch 3 of v2 in front so
    as to disable GENERIC_LOCKBREAK when DEBUG_LOCK_ALLOC is on.

 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. It also includes a patch that disable GENERIC_LOCKBREAK
when DEBUG_LOCK_ALLOC is on.

Waiman Long (3):
  locking/spinlock: Disable GENERIC_LOCKBREAK when DEBUG_LOCK_ALLOC is
    on
  locking/spinlock_debug: Reduce lockup suspected message clutter
  locking/spinlock_debug: Reduce lock cacheline contention

 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  |  8 +++--
 kernel/locking/spinlock_debug.c | 73 ++++++++++++++++++++++++++++++-----------
 8 files changed, 64 insertions(+), 29 deletions(-)

-- 
1.8.3.1

Back to linux.kernel | Previous | NextNext in thread | Find similar | Unroll thread


Thread

[PATCH v3 0/3] locking/spinlock_debug: Change it to a mostly fair lock Waiman Long <longman@redhat.com> - 2017-02-02 15:20 +0100
  Re: [PATCH v3 0/3] locking/spinlock_debug: Change it to a mostly  fair lock Peter Zijlstra <peterz@infradead.org> - 2017-02-07 09:50 +0100
    Re: [PATCH v3 0/3] locking/spinlock_debug: Change it to a mostly  fair lock Ingo Molnar <mingo@kernel.org> - 2017-02-07 10:50 +0100
      Re: [PATCH v3 0/3] locking/spinlock_debug: Change it to a mostly fair  lock Waiman Long <longman@redhat.com> - 2017-02-07 20:50 +0100
        Re: [PATCH v3 0/3] locking/spinlock_debug: Change it to a mostly  fair lock "Paul E. McKenney" <paulmck@linux.vnet.ibm.com> - 2017-02-07 21:00 +0100
          Re: [PATCH v3 0/3] locking/spinlock_debug: Change it to a mostly  fair lock Peter Zijlstra <peterz@infradead.org> - 2017-02-08 10:50 +0100
            Re: [PATCH v3 0/3] locking/spinlock_debug: Change it to a mostly  fair lock "Paul E. McKenney" <paulmck@linux.vnet.ibm.com> - 2017-02-08 14:20 +0100

csiph-web