diff options
| author | Andrea Righi <arighi@nvidia.com> | 2026-09-22 18:51:44 +0200 |
|---|---|---|
| committer | Peter Zijlstra <peterz@infradead.org> | 2026-09-28 08:44:39 +0200 |
| commit | be100c77178ef2299a080eb698720832a870248b (patch) | |
| tree | a8f78eeebf4157c380a7bc1e9ab5455b46a28670 /include/linux | |
| parent | 57c75e3ae38c40acb5882a57c36f2d5234e066d0 (diff) | |
| download | linux-next-be100c77178ef2299a080eb698720832a870248b.tar.gz linux-next-be100c77178ef2299a080eb698720832a870248b.zip | |
sched: Add sched_ext hooks for proxy execution
Proxy execution splits the scheduling context (the donor) from the
execution context (the lock owner). sched_ext needs to observe that
split at three points in __schedule():
- whether a blocked EXT task can be retained on the runqueue as a
donor,
- when a donor's scheduling context starts driving a lock owner,
- after proxy resolution, when deferred reenqueue work that was blocked
by an active proxy relationship can be retried.
Introduce scx_allow_proxy_exec(), scx_proxy_donor_start() and
scx_proxy_reenqueue_retry(), and add their call sites in __schedule().
The implementations are empty here and are filled in by the sched_ext
changes that follow, so that all the sched core changes needed by proxy
execution stay together in the preparatory patches.
SCHED_PROXY_EXEC still depends on !SCHED_CLASS_EXT, so the new hooks are
inert: they are compiled out with CONFIG_SCHED_CLASS_EXT=n and
unreachable otherwise.
This is a preparatory change to support proxy execution with sched_ext.
No functional change.
Signed-off-by: Andrea Righi <arighi@nvidia.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://patch.msgid.link/20260922165445.943315-6-arighi@nvidia.com
Diffstat (limited to 'include/linux')
0 files changed, 0 insertions, 0 deletions
