linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/5] locking Introduce range reader/writer lock
@ 2017-03-07  5:03 Davidlohr Bueso
  2017-03-07  5:03 ` [PATCH 1/5] locking: " Davidlohr Bueso
                   ` (4 more replies)
  0 siblings, 5 replies; 34+ messages in thread
From: Davidlohr Bueso @ 2017-03-07  5:03 UTC (permalink / raw)
  To: mingo, peterz, akpm
  Cc: jack, kirill.shutemov, mhocko, mgorman, dave, linux-kernel

Hi,

Here's a very tardy proposal for enhancements to Jan's original[1] range lock
using interval trees. Because at some point it would be awesome to switch mmap_sem
from rwsem to range rwlock, I've focused on making it sharable and performance
enhancements reducing the performance delta between this and conventional locks as
much as possible -- details in patch 1.

The rest of the patches adds support for testing the new lock and actually
makes use of it for lustre. It has passed quite a bit of artificial pounding and
I believe/hope it is in shape to consider.

Applies on top of v4.11-rc1.

[1] https://lkml.org/lkml/2013/1/31/483

Thanks!

Davidlohr Bueso (5):
  locking: Introduce range reader/writer lock
  locking/locktorture: Fix rwsem reader_delay
  locking/locktorture: Fix num reader/writer corner cases
  locking/locktorture: Support range rwlocks
  staging/lustre: Use generic range rwlock

 drivers/gpu/drm/Kconfig                            |   2 -
 drivers/gpu/drm/i915/Kconfig                       |   1 -
 drivers/staging/lustre/lustre/llite/Makefile       |   2 +-
 drivers/staging/lustre/lustre/llite/file.c         |  21 +-
 .../staging/lustre/lustre/llite/llite_internal.h   |   4 +-
 drivers/staging/lustre/lustre/llite/llite_lib.c    |   3 +-
 drivers/staging/lustre/lustre/llite/range_lock.c   | 239 -----------
 drivers/staging/lustre/lustre/llite/range_lock.h   |  82 ----
 include/linux/range_rwlock.h                       |  96 +++++
 kernel/locking/Makefile                            |   2 +-
 kernel/locking/locktorture.c                       | 299 +++++++++----
 kernel/locking/range_rwlock.c                      | 462 +++++++++++++++++++++
 lib/Kconfig                                        |  14 -
 lib/Kconfig.debug                                  |   1 -
 lib/Makefile                                       |   2 +-
 15 files changed, 792 insertions(+), 438 deletions(-)
 delete mode 100644 drivers/staging/lustre/lustre/llite/range_lock.c
 delete mode 100644 drivers/staging/lustre/lustre/llite/range_lock.h
 create mode 100644 include/linux/range_rwlock.h
 create mode 100644 kernel/locking/range_rwlock.c

-- 
2.6.6

^ permalink raw reply	[flat|nested] 34+ messages in thread

end of thread, other threads:[~2017-04-04 15:31 UTC | newest]

Thread overview: 34+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-03-07  5:03 [PATCH 0/5] locking Introduce range reader/writer lock Davidlohr Bueso
2017-03-07  5:03 ` [PATCH 1/5] locking: " Davidlohr Bueso
2017-03-09 11:03   ` Jan Kara
2017-03-28 10:00   ` Laurent Dufour
2017-03-28 16:39     ` Davidlohr Bueso
2017-03-28 16:58       ` Kirill A. Shutemov
2017-03-29  8:38         ` Laurent Dufour
2017-03-29 15:31           ` Davidlohr Bueso
2017-03-29 15:40             ` Kirill A. Shutemov
2017-03-29 16:10               ` Davidlohr Bueso
2017-04-03 14:19       ` Laurent Dufour
2017-04-03 15:26         ` Davidlohr Bueso
2017-04-03 16:06           ` Jan Kara
2017-04-04 15:31             ` Davidlohr Bueso
2017-03-29  8:56   ` Peter Zijlstra
2017-03-29 15:12     ` Davidlohr Bueso
2017-03-29  8:59   ` Peter Zijlstra
2017-03-29  9:08   ` Peter Zijlstra
2017-03-29 15:05     ` Davidlohr Bueso
2017-03-29  9:11   ` Peter Zijlstra
2017-03-29  9:44   ` Peter Zijlstra
2017-03-29 10:35   ` Peter Zijlstra
2017-03-29 10:49   ` Peter Zijlstra
2017-03-29 15:14     ` Davidlohr Bueso
2017-03-30 14:56   ` Laurent Dufour
2017-03-30 17:13     ` Davidlohr Bueso
2017-03-07  5:03 ` [PATCH 2/5] locking/locktorture: Fix rwsem reader_delay Davidlohr Bueso
2017-03-07  5:03 ` [PATCH 3/5] locking/locktorture: Fix num reader/writer corner cases Davidlohr Bueso
2017-03-07  5:03 ` [PATCH 4/5] locking/locktorture: Support range rwlocks Davidlohr Bueso
2017-03-07  5:03 ` [PATCH 5/5] staging/lustre: Use generic range rwlock Davidlohr Bueso
2017-03-07  6:05   ` Oleg Drokin
2017-03-08 15:02     ` Davidlohr Bueso
2017-03-09  8:56   ` kbuild test robot
2017-03-09 14:40   ` kbuild test robot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).