mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-01-11 17:10:13 +00:00
sched_ext: Fix some comments in ext.c
This commit update balance_scx() in the comments to balance_one(). Signed-off-by: Zqiang <qiang.zhang@linux.dev> Reviewed-by: Andrea Righi <arighi@nvidia.com> Signed-off-by: Tejun Heo <tj@kernel.org>
This commit is contained in:
parent
b0101ccb5b
commit
12494e5e2a
@ -1577,7 +1577,7 @@ static bool dequeue_task_scx(struct rq *rq, struct task_struct *p, int deq_flags
|
||||
*
|
||||
* @p may go through multiple stopping <-> running transitions between
|
||||
* here and put_prev_task_scx() if task attribute changes occur while
|
||||
* balance_scx() leaves @rq unlocked. However, they don't contain any
|
||||
* balance_one() leaves @rq unlocked. However, they don't contain any
|
||||
* information meaningful to the BPF scheduler and can be suppressed by
|
||||
* skipping the callbacks if the task is !QUEUED.
|
||||
*/
|
||||
@ -2372,7 +2372,7 @@ static void switch_class(struct rq *rq, struct task_struct *next)
|
||||
* preempted, and it regaining control of the CPU.
|
||||
*
|
||||
* ->cpu_release() complements ->cpu_acquire(), which is emitted the
|
||||
* next time that balance_scx() is invoked.
|
||||
* next time that balance_one() is invoked.
|
||||
*/
|
||||
if (!rq->scx.cpu_released) {
|
||||
if (SCX_HAS_OP(sch, cpu_release)) {
|
||||
@ -2478,7 +2478,7 @@ do_pick_task_scx(struct rq *rq, struct rq_flags *rf, bool force_scx)
|
||||
}
|
||||
|
||||
/*
|
||||
* If balance_scx() is telling us to keep running @prev, replenish slice
|
||||
* If balance_one() is telling us to keep running @prev, replenish slice
|
||||
* if necessary and keep running @prev. Otherwise, pop the first one
|
||||
* from the local DSQ.
|
||||
*/
|
||||
@ -4025,7 +4025,7 @@ static DEFINE_TIMER(scx_bypass_lb_timer, scx_bypass_lb_timerfn);
|
||||
*
|
||||
* - ops.dispatch() is ignored.
|
||||
*
|
||||
* - balance_scx() does not set %SCX_RQ_BAL_KEEP on non-zero slice as slice
|
||||
* - balance_one() does not set %SCX_RQ_BAL_KEEP on non-zero slice as slice
|
||||
* can't be trusted. Whenever a tick triggers, the running task is rotated to
|
||||
* the tail of the queue with core_sched_at touched.
|
||||
*
|
||||
@ -6069,7 +6069,7 @@ __bpf_kfunc bool scx_bpf_dsq_move_to_local(u64 dsq_id)
|
||||
/*
|
||||
* A successfully consumed task can be dequeued before it starts
|
||||
* running while the CPU is trying to migrate other dispatched
|
||||
* tasks. Bump nr_tasks to tell balance_scx() to retry on empty
|
||||
* tasks. Bump nr_tasks to tell balance_one() to retry on empty
|
||||
* local DSQ.
|
||||
*/
|
||||
dspc->nr_tasks++;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user