[PATCH v13 0/7] Preparatory changes for Proxy Execution v13

From: John Stultz
Date: Fri Oct 11 2024 - 19:25:53 EST


Hey All,

I wanted to send out v13 of the preparatory patches for
Proxy Execution - an approach for a generalized form of priority
inheritance. Here again, I’m only submitting the early /
preparatory changes for review, in the hope that we can move
these more straightforward patches along and then iteratively
move through the more interesting patches in the Proxy Execution
series.

There have been no code changes for v13. The only difference is:
* Expaneded commit message, as suggested by Steven Rostedt

Thanks you for the detailed review and feedback!

These changes are based against tip/sched/core

Usually I link to the full proxy-execution series here, but
while these preparatory changes rebased easily, I still have
some work to do on later changes in the full proxy-execution
series to adapt to recent delayed dequeuing and dl_server rework
that landed in 6.12-rc1. I'll post separately with those changes
once I've hammered all the details out.

Credit/Disclaimer:
—--------------------
As mentioned previously, this Proxy Execution series has a long
history:

First described in a paper[1] by Watkins, Straub, Niehaus, then
from patches from Peter Zijlstra, extended with lots of work by
Juri Lelli, Valentin Schneider, and Connor O'Brien. (and thank
you to Steven Rostedt for providing additional details here!)

So again, many thanks to those above, as all the credit for this
series really is due to them - while the mistakes are likely mine.

Thanks so much!
-john

[1] https://static.lwn.net/images/conf/rtlws11/papers/proc/p38.pdf

Cc: Joel Fernandes <joelaf@xxxxxxxxxx>
Cc: Qais Yousef <qyousef@xxxxxxxxxxx>
Cc: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Juri Lelli <juri.lelli@xxxxxxxxxx>
Cc: Vincent Guittot <vincent.guittot@xxxxxxxxxx>
Cc: Dietmar Eggemann <dietmar.eggemann@xxxxxxx>
Cc: Valentin Schneider <vschneid@xxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Ben Segall <bsegall@xxxxxxxxxx>
Cc: Zimuzo Ezeozue <zezeozue@xxxxxxxxxx>
Cc: Mel Gorman <mgorman@xxxxxxx>
Cc: Will Deacon <will@xxxxxxxxxx>
Cc: Waiman Long <longman@xxxxxxxxxx>
Cc: Boqun Feng <boqun.feng@xxxxxxxxx>
Cc: "Paul E. McKenney" <paulmck@xxxxxxxxxx>
Cc: Metin Kaya <Metin.Kaya@xxxxxxx>
Cc: Xuewen Yan <xuewen.yan94@xxxxxxxxx>
Cc: K Prateek Nayak <kprateek.nayak@xxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx>
Cc: kernel-team@xxxxxxxxxxx


Connor O'Brien (2):
sched: Add move_queued_task_locked helper
sched: Consolidate pick_*_task to task_is_pushable helper

John Stultz (1):
sched: Split out __schedule() deactivate task logic into a helper

Juri Lelli (2):
locking/mutex: Make mutex::wait_lock irq safe
locking/mutex: Expose __mutex_owner()

Peter Zijlstra (2):
locking/mutex: Remove wakeups from under mutex::wait_lock
sched: Split scheduler and execution contexts

kernel/futex/pi.c | 6 +-
kernel/locking/mutex.c | 59 ++++++---------
kernel/locking/mutex.h | 27 +++++++
kernel/locking/rtmutex.c | 49 +++++++++----
kernel/locking/rtmutex_api.c | 11 ++-
kernel/locking/rtmutex_common.h | 3 +-
kernel/locking/rwbase_rt.c | 8 ++-
kernel/locking/rwsem.c | 4 +-
kernel/locking/spinlock_rt.c | 3 +-
kernel/locking/ww_mutex.h | 51 +++++++------
kernel/sched/core.c | 123 ++++++++++++++++++--------------
kernel/sched/deadline.c | 57 ++++++---------
kernel/sched/fair.c | 28 ++++----
kernel/sched/pelt.c | 2 +-
kernel/sched/rt.c | 67 +++++++----------
kernel/sched/sched.h | 50 ++++++++++++-
kernel/sched/syscalls.c | 4 +-
17 files changed, 324 insertions(+), 228 deletions(-)

--
2.47.0.rc1.288.g06298d1525-goog