mirror of
https://github.com/raspberrypi/linux.git
synced 2025-12-25 19:42:19 +00:00
sched_ext, scx_qmap: Add and use SCX_ENQ_CPU_SELECTED
scx_qmap and other schedulers in the SCX repo are using SCX_ENQ_WAKEUP to tell whether ops.select_cpu() was called. This is incorrect as ops.select_cpu() can be skipped in the wakeup path and leads to e.g. incorrectly skipping direct dispatch for tasks that are bound to a single CPU. sched core has been updated to specify ENQUEUE_RQ_SELECTED if ->select_task_rq() was called. Map it to SCX_ENQ_CPU_SELECTED and update scx_qmap to test it instead of SCX_ENQ_WAKEUP. Signed-off-by: Tejun Heo <tj@kernel.org> Acked-by: David Vernet <void@manifault.com> Cc: Daniel Hodges <hodges.daniel.scott@gmail.com> Cc: Changwoo Min <multics69@gmail.com> Cc: Andrea Righi <andrea.righi@linux.dev> Cc: Dan Schatzberg <schatzberg.dan@gmail.com>
This commit is contained in:
@@ -696,6 +696,7 @@ enum scx_enq_flags {
|
||||
/* expose select ENQUEUE_* flags as enums */
|
||||
SCX_ENQ_WAKEUP = ENQUEUE_WAKEUP,
|
||||
SCX_ENQ_HEAD = ENQUEUE_HEAD,
|
||||
SCX_ENQ_CPU_SELECTED = ENQUEUE_RQ_SELECTED,
|
||||
|
||||
/* high 32bits are SCX specific */
|
||||
|
||||
|
||||
Reference in New Issue
Block a user