]> www.infradead.org Git - users/jedix/linux-maple.git/commit
sched_ext: keep running prev when prev->scx.slice != 0
authorHenry Huang <henry.hj@antgroup.com>
Wed, 8 Jan 2025 08:47:10 +0000 (16:47 +0800)
committerTejun Heo <tj@kernel.org>
Wed, 8 Jan 2025 16:48:33 +0000 (06:48 -1000)
commit30dd3b13f9de612ef7328ccffcf1a07d0d40ab51
tree6a694ef7207578643bc6206a3c0f5f9e48c1e723
parentce2b93fc1dfa1c82f2576aa571731c4e5dcc8dd7
sched_ext: keep running prev when prev->scx.slice != 0

When %SCX_OPS_ENQ_LAST is set and prev->scx.slice != 0,
@prev will be dispacthed into the local DSQ in put_prev_task_scx().
However, pick_task_scx() is executed before put_prev_task_scx(),
so it will not pick @prev.
Set %SCX_RQ_BAL_KEEP in balance_one() to ensure that pick_task_scx()
can pick @prev.

Signed-off-by: Henry Huang <henry.hj@antgroup.com>
Acked-by: Andrea Righi <arighi@nvidia.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
kernel/sched/ext.c