linux/kernel/sched/ext
Andrea Righi be100c7717 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
2026-09-28 08:44:39 +02:00
..
arena.c sched_ext: Pass kernel arena pointers to ops_cid callbacks 2026-08-12 09:55:33 -10:00
arena.h
cid.c sched_ext: Convert scx_bpf_cid_override() to __arena array arguments 2026-08-12 09:55:33 -10:00
cid.h sched_ext: Gate cid kfuncs behind the SCX struct_ops check 2026-08-12 08:29:15 -10:00
ext.c sched: Add sched_ext hooks for proxy execution 2026-09-28 08:44:39 +02:00
ext.h sched: Add sched_ext hooks for proxy execution 2026-09-28 08:44:39 +02:00
idle.c sched_ext: Merge branch 'for-7.2-fixes' into for-7.3 2026-08-12 06:46:28 -10:00
idle.h
inlines.h sched_ext: Rename balance-era identifiers to dispatch terms 2026-08-15 00:07:42 -10:00
internal.h sched_ext: Merge branch 'for-7.3-arena-args' into for-7.3 2026-08-17 11:20:34 -10:00
sub.c sched_ext: Merge branch 'for-7.3-arena-args' into for-7.3 2026-08-17 11:20:34 -10:00
sub.h sched_ext: Add bandwidth-limited rescue execution for stranded tasks 2026-08-03 11:01:29 -10:00
types.h sched_ext: Convert sub-cap kfuncs to __arena cmask arguments 2026-08-12 09:55:33 -10:00