All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/5] lockinig/rwsem: Fix rwsem bugs & enable true lock handoff
@ 2022-10-17 21:13 Waiman Long
  2022-10-17 21:13 ` [PATCH v3 1/5] locking/rwsem: Prevent non-first waiter from spinning in down_write() slowpath Waiman Long
                   ` (5 more replies)
  0 siblings, 6 replies; 22+ messages in thread
From: Waiman Long @ 2022-10-17 21:13 UTC (permalink / raw)
  To: Peter Zijlstra, Ingo Molnar, Will Deacon, Boqun Feng
  Cc: linux-kernel, john.p.donnelly, Hillf Danton, Mukesh Ojha,
	Ting11 Wang 王婷,
	Waiman Long

v3:
 - Make a minor cleanup to patch 1.
 - Add 3 more patches to implement true lock handoff.

v2:
 - Add an additional patch to limit the # of first waiter optimistic
   spinning in the writer slowpath.

It turns out the current waiter optimistic spinning code does not work
that well if we have RT tasks in the mix. This patch series include two
different fixes to resolve those issues. The last 3 patches modify the
handoff code to implement true lock handoff similar to that of mutex.

Waiman Long (5):
  locking/rwsem: Prevent non-first waiter from spinning in down_write()
    slowpath
  locking/rwsem: Limit # of null owner retries for handoff writer
  locking/rwsem: Change waiter->hanodff_set to a handoff_state enum
  locking/rwsem: Enable direct rwsem lock handoff
  locking/rwsem: Update handoff lock events tracking

 kernel/locking/lock_events_list.h |   6 +-
 kernel/locking/rwsem.c            | 172 +++++++++++++++++++++++-------
 2 files changed, 138 insertions(+), 40 deletions(-)

-- 
2.31.1


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

end of thread, other threads:[~2022-10-26  1:44 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-10-17 21:13 [PATCH v3 0/5] lockinig/rwsem: Fix rwsem bugs & enable true lock handoff Waiman Long
2022-10-17 21:13 ` [PATCH v3 1/5] locking/rwsem: Prevent non-first waiter from spinning in down_write() slowpath Waiman Long
2022-10-24 13:17   ` Peter Zijlstra
2022-10-24 13:50     ` Waiman Long
2022-10-17 21:13 ` [PATCH v3 2/5] locking/rwsem: Limit # of null owner retries for handoff writer Waiman Long
2022-10-24 13:31   ` Peter Zijlstra
2022-10-24 15:55     ` Waiman Long
2022-10-25 11:22       ` Peter Zijlstra
2022-10-25 11:48         ` Peter Zijlstra
2022-10-25 19:55           ` Waiman Long
2022-10-25 20:14             ` Peter Zijlstra
2022-10-26  1:44               ` Waiman Long
     [not found]         ` <20221025145843.2953-1-hdanton@sina.com>
2022-10-25 19:00           ` Waiman Long
2022-10-17 21:13 ` [PATCH v3 3/5] locking/rwsem: Change waiter->hanodff_set to a handoff_state enum Waiman Long
2022-10-17 21:13 ` [PATCH v3 4/5] locking/rwsem: Enable direct rwsem lock handoff Waiman Long
2022-10-17 21:13 ` [PATCH v3 5/5] locking/rwsem: Update handoff lock events tracking Waiman Long
     [not found] ` <20221018111424.1007-1-hdanton@sina.com>
2022-10-18 14:13   ` [PATCH v3 4/5] locking/rwsem: Enable direct rwsem lock handoff Mukesh Ojha
2022-10-18 17:37     ` Waiman Long
     [not found]     ` <20221018235138.1088-1-hdanton@sina.com>
2022-10-19  0:39       ` Waiman Long
     [not found]       ` <20221019022934.1166-1-hdanton@sina.com>
2022-10-19  2:49         ` Waiman Long
     [not found]         ` <20221019070559.1220-1-hdanton@sina.com>
2022-10-19 15:02           ` Waiman Long
2022-10-24 16:18       ` Waiman Long

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.