lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:	Sun,  3 Apr 2016 23:32:42 -0700
From:	Davidlohr Bueso <dave@...olabs.net>
To:	tglx@...utronix.de, mingo@...nel.org
Cc:	peterz@...radead.org, bigeasy@...utronix.de,
	umgwanakikbuti@...il.com, paulmck@...ux.vnet.ibm.com,
	dave@...olabs.net, linux-kernel@...r.kernel.org
Subject: [PATCH -tip v2 0/4] rtmutex: Another crack at spin on owner

Changes from v1:
  - Dropped patch 4 that removed the barrier in the deadlock path.
  - Added patch 2 (trivial) to use poison.h defines.
  - sprinkled READ/WRITE_ONCE around lock->owner, even if updated
    inside the cr.  (peterz)
  - More testing time.

This is a followup to proposal sometime ago to add spin on owner to rtmutexes.
My first attempt was rather permissive in that I tried avoiding the pi
dance and let the lock be stolen. However, due to -rt constraints this
series only deals with top-waiter, based on what we do in the preempt
rt patchset.

First two patches are trivial and the whole patchset as survived a week
of locktorture+pi_stress pounding at the same time without anything
breaking. That said, I'm sure it needs more testing and eyeballs, these
paths make my head hurt.

Thanks!

Davidlohr Bueso (4):
  rtmutex: Delete save_state member of struct rt_mutex
  rtmutex: Use waiter debug init,free magic numbers
  rtmutex: Add rt_mutex_init_waiter helper
  rtmutex: Reduce top-waiter blocking on a lock

 include/linux/poison.h          |  4 +-
 include/linux/rtmutex.h         |  3 +-
 kernel/Kconfig.locks            |  4 ++
 kernel/futex.c                  |  5 +--
 kernel/locking/mutex-debug.c    |  4 +-
 kernel/locking/rtmutex-debug.c  |  4 +-
 kernel/locking/rtmutex.c        | 88 ++++++++++++++++++++++++++++++++++-------
 kernel/locking/rtmutex_common.h | 17 +++++++-
 8 files changed, 102 insertions(+), 27 deletions(-)

-- 
2.7.4

Powered by blists - more mailing lists