]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
sched_ext: Split schedule_deferred() into locked and unlocked variants
authorTejun Heo <tj@kernel.org>
Sat, 25 Oct 2025 00:18:47 +0000 (14:18 -1000)
committerTejun Heo <tj@kernel.org>
Wed, 29 Oct 2025 15:29:04 +0000 (05:29 -1000)
commit180b4ac3420c4b4e03c75b7077beb854af9282da
tree334d3786d8b58c4fa36b760c7569f208318129e1
parent2d697e5f5a036d5705d570ce55a140832e92d25c
sched_ext: Split schedule_deferred() into locked and unlocked variants

schedule_deferred() currently requires the rq lock to be held so that it can
use scheduler hooks for efficiency when available. However, there are cases
where deferred actions need to be scheduled from contexts that don't hold the
rq lock.

Split into schedule_deferred() which can be called from any context and just
queues irq_work, and schedule_deferred_locked() which requires the rq lock and
can optimize by using scheduler hooks when available. Update the existing call
site to use the _locked variant.

Reviewed-by: Emil Tsalapatis <emil@etsalapatis.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
kernel/sched/ext.c