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  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Thu, 28 Mar 2013 15:19:39 -0400
From:	Peter Hurley <peter@...leysoftware.com>
To:	Michel Lespinasse <walken@...gle.com>
Cc:	Alex Shi <alex.shi@...el.com>, Ingo Molnar <mingo@...nel.org>,
	David Howells <dhowells@...hat.com>,
	Peter Zijlstra <a.p.zijlstra@...llo.nl>,
	Thomas Gleixner <tglx@...utronix.de>,
	Yuanhan Liu <yuanhan.liu@...ux.intel.com>,
	Rik van Riel <riel@...hat.com>,
	Dave Chinner <david@...morbit.com>,
	Andrew Morton <akpm@...ux-foundation.org>,
	linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2 00/13] rwsem fast-path write lock stealing

On Fri, 2013-03-15 at 03:54 -0700, Michel Lespinasse wrote:
> These patches extend Alex Shi's work (which added write lock stealing
> on the rwsem slow path) in order to provide rwsem write lock stealing
> on the fast path (that is, without taking the rwsem's wait_lock).

Since none of Alex's original code will be in here with these patches
applied, you might as well add this:

diff --git a/lib/rwsem.c b/lib/rwsem.c
index 4e4c889..61f91ca 100644
--- a/lib/rwsem.c
+++ b/lib/rwsem.c
@@ -4,6 +4,7 @@
  * Derived from arch/i386/kernel/semaphore.c
  *
  * Writer lock-stealing by Alex Shi <alex.shi@...el.com>
+ * and Michel Lespinasse <walken@...gle.com>
  */
 #include <linux/rwsem.h>
 #include <linux/sched.h>


> Michel Lespinasse (13):
>   rwsem: make the waiter type an enumeration rather than a bitmask
>   rwsem: shorter spinlocked section in rwsem_down_failed_common()
>   rwsem: move rwsem_down_failed_common code into rwsem_down_{read,write}_failed
>   rwsem: simplify rwsem_down_read_failed
>   rwsem: simplify rwsem_down_write_failed
>   rwsem: more agressive lock stealing in rwsem_down_write_failed
>   rwsem: use cmpxchg for trying to steal write lock
>   rwsem: avoid taking wait_lock in rwsem_down_write_failed
>   rwsem: skip initial trylock in rwsem_down_write_failed
>   rwsem: simplify __rwsem_do_wake
>   rwsem: implement support for write lock stealing on the fastpath
>   rwsem: do not block readers at head of queue if other readers are active
>   x86 rwsem: avoid taking slow path when stealing write lock
> 
>  arch/x86/include/asm/rwsem.h |  28 +++--
>  lib/rwsem-spinlock.c         |  40 +++-----
>  lib/rwsem.c                  | 239 +++++++++++++++++++++----------------------
>  3 files changed, 154 insertions(+), 153 deletions(-)

Because Michel asked:

Reviewed-by: Peter Hurley <peter@...leysoftware.com>

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ