diff options
| author | Peter Zijlstra <peterz@infradead.org> | 2025-09-11 12:09:19 +0200 |
|---|---|---|
| committer | Peter Zijlstra <peterz@infradead.org> | 2025-10-16 11:13:54 +0200 |
| commit | d4c64207b88a60dd15a38c790bb73c0b6f9a8c40 (patch) | |
| tree | 789ee282a2ee696cc29148051c6f2ceeffef4914 /kernel/sched/ext.c | |
| parent | 5892cbd85dbf9059b8a3a7dd8ab64c0fce671029 (diff) | |
sched: Cleanup the sched_change NOCLOCK usage
Teach the sched_change pattern how to do update_rq_clock(); this
allows for some simplifications / cleanups.
Suggested-by: K Prateek Nayak <kprateek.nayak@amd.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Juri Lelli <juri.lelli@redhat.com>
Acked-by: Tejun Heo <tj@kernel.org>
Acked-by: Vincent Guittot <vincent.guittot@linaro.org>
Diffstat (limited to 'kernel/sched/ext.c')
| -rw-r--r-- | kernel/sched/ext.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/kernel/sched/ext.c b/kernel/sched/ext.c index ad371b612a16..57170423c3d9 100644 --- a/kernel/sched/ext.c +++ b/kernel/sched/ext.c @@ -4654,7 +4654,7 @@ static int scx_enable(struct sched_ext_ops *ops, struct bpf_link *link) percpu_down_write(&scx_fork_rwsem); scx_task_iter_start(&sti); while ((p = scx_task_iter_next_locked(&sti))) { - unsigned int queue_flags = DEQUEUE_SAVE | DEQUEUE_MOVE | DEQUEUE_NOCLOCK; + unsigned int queue_flags = DEQUEUE_SAVE | DEQUEUE_MOVE; const struct sched_class *old_class = p->sched_class; const struct sched_class *new_class = __setscheduler_class(p->policy, p->prio); @@ -4662,8 +4662,6 @@ static int scx_enable(struct sched_ext_ops *ops, struct bpf_link *link) if (!tryget_task_struct(p)) continue; - update_rq_clock(task_rq(p)); - if (old_class != new_class) queue_flags |= DEQUEUE_CLASS; |