]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
sched_ext: Make scx_bpf_reenqueue_local() sub-sched aware
authorTejun Heo <tj@kernel.org>
Fri, 6 Mar 2026 17:58:04 +0000 (07:58 -1000)
committerTejun Heo <tj@kernel.org>
Fri, 6 Mar 2026 17:58:04 +0000 (07:58 -1000)
commit0d8c551dd5de1c157600da05a01e3147115dfbb4
treeee7aab316f1bd24096af8b640747a1dc1beb9b61
parent7f5fcd47dd62ba7e150468ca05d30bfd26feb306
sched_ext: Make scx_bpf_reenqueue_local() sub-sched aware

scx_bpf_reenqueue_local() currently re-enqueues all tasks on the local DSQ
regardless of which sub-scheduler owns them. With multiple sub-schedulers,
each should only re-enqueue tasks it owns or are owned by its descendants.

Replace the per-rq boolean flag with a lock-free linked list to track
per-scheduler reenqueue requests. Filter tasks in reenq_local() using
hierarchical ownership checks and block deferrals during bypass to prevent
use on dead schedulers.

Signed-off-by: Tejun Heo <tj@kernel.org>
Reviewed-by: Andrea Righi <arighi@nvidia.com>
kernel/sched/ext.c
kernel/sched/ext_internal.h
kernel/sched/sched.h