public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/6] locking/rtmutex: Avoid PI state recursion through sched_submit_work()
@ 2023-08-15 11:01 Peter Zijlstra
  2023-08-15 11:01 ` [PATCH 1/6] sched: Constrain locks in sched_submit_work() Peter Zijlstra
                   ` (6 more replies)
  0 siblings, 7 replies; 25+ messages in thread
From: Peter Zijlstra @ 2023-08-15 11:01 UTC (permalink / raw)
  To: bigeasy, tglx
  Cc: linux-kernel, peterz, bsegall, boqun.feng, swood, bristot,
	dietmar.eggemann, mingo, jstultz, juri.lelli, mgorman, rostedt,
	vschneid, vincent.guittot, longman, will

Hi!

This is basically the 'same' patches as send earlier by Sebastian here:

  https://lkml.kernel.org/r/20230427111937.2745231-1-bigeasy@linutronix.de

I spend a number of days trying to invert rtmutex, only to make a giant mess of
things and finally conceded that this is the least horrible approach.

There's a bunch of naming differences and I added some asserts that should
hopefully avoid things from going sideways without notice. I've also updated
the changelogs to high-light the actual problem. The whole pi_blocked_on
'corruption' is a mere consequence of the more fundamental problem that the
whole PI state recurses.

I've not tested this with the rest of the RT patches stuck on, so very limited
actual testing happened.

If anybody could please confirm stuff still works as advertised, I'll go queue
this mess and we can hopefully forget all about it.


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

end of thread, other threads:[~2023-08-17  8:27 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-08-15 11:01 [PATCH 0/6] locking/rtmutex: Avoid PI state recursion through sched_submit_work() Peter Zijlstra
2023-08-15 11:01 ` [PATCH 1/6] sched: Constrain locks in sched_submit_work() Peter Zijlstra
2023-08-15 11:01 ` [PATCH 2/6] locking/rtmutex: Avoid unconditional slowpath for DEBUG_RT_MUTEXES Peter Zijlstra
2023-08-15 11:01 ` [PATCH 3/6] sched: Extract __schedule_loop() Peter Zijlstra
2023-08-15 22:33   ` Phil Auld
2023-08-15 22:39     ` Peter Zijlstra
2023-08-16 14:14       ` Phil Auld
2023-08-15 22:42     ` Phil Auld
2023-08-16 10:01     ` Sebastian Andrzej Siewior
2023-08-16 11:39       ` Phil Auld
2023-08-16 12:20         ` Sebastian Andrzej Siewior
2023-08-16 12:48           ` Phil Auld
2023-08-15 11:01 ` [PATCH 4/6] sched: Provide rt_mutex specific scheduler helpers Peter Zijlstra
2023-08-15 11:01 ` [PATCH 5/6] locking/rtmutex: Use " Peter Zijlstra
2023-08-15 11:01 ` [PATCH 6/6] locking/rtmutex: Add a lockdep assert to catch potential nested blocking Peter Zijlstra
2023-08-15 16:15 ` [PATCH 0/6] locking/rtmutex: Avoid PI state recursion through sched_submit_work() Peter Zijlstra
2023-08-16  8:58   ` Sebastian Andrzej Siewior
2023-08-16  9:42     ` Peter Zijlstra
2023-08-16 10:19       ` Sebastian Andrzej Siewior
2023-08-16 13:46         ` Sebastian Andrzej Siewior
2023-08-16 14:58           ` Peter Zijlstra
2023-08-16 15:22             ` Peter Zijlstra
2023-08-16 15:25               ` Sebastian Andrzej Siewior
2023-08-17  6:59             ` Sebastian Andrzej Siewior
2023-08-17  8:26               ` Peter Zijlstra

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox