[PATCH v2] include SCX_OPS_TRACK_MIGRATION
From: Henry Huang
Date: Mon Jun 23 2025 - 00:32:54 EST
In our environment, we need track task migrations to update per-cpu
map.
Implementing fentry(on enqueue_task_scx & dequeue_task_scx)
is a feasible solution. But there are some limitations:
1. Can't modify p->scx.xxx
2. enqueue_task_scx & dequeue_task_scx can't have some
special compilation optimizations.
3. Has more overhead compared to struct_ops
So we include SCX_OPS_TRACK_MIGRATION to support tracking task
migrations.
If SCX_OPS_TRACK_MIGRATION is set, runnable/quiescent
would be called whether task is doing migration or not.
For v2:
1. if task_on_rq_migrating(p) == true
set DEQUEUE_MIGRATING to deq_flags in dequeue_task_scx
set ENQUEUE_MIGRATING to enq_flags in enqueue_task_scx
Henry Huang (1):
sched_ext: include SCX_OPS_TRACK_MIGRATION
kernel/sched/ext.c | 24 ++++++++++++++++++++++--
1 file changed, 22 insertions(+), 2 deletions(-)
--
Henry