]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
drm/sched: revert "Always increment correct scheduler score"
authorChristian König <christian.koenig@amd.com>
Mon, 30 Sep 2024 13:07:49 +0000 (15:07 +0200)
committerChristian König <christian.koenig@amd.com>
Mon, 30 Sep 2024 13:29:26 +0000 (15:29 +0200)
This reverts commit 087913e0ba2b3b9d7ccbafb2acf5dab9e35ae1d5.

It turned out that the original code was correct since the rq can only
change when there is no armed job for an entity.

This change here broke the logic since we only incremented the counter
for the first job, so revert it.

Signed-off-by: Christian König <christian.koenig@amd.com>
Acked-by: Tvrtko Ursulin <tvrtko.ursulin@igalia.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240930131451.536150-1-christian.koenig@amd.com
drivers/gpu/drm/scheduler/sched_entity.c

index b2cf3e0c18388b7366835acbad8a220221a90785..a75eede8bf8dabd235b1fe1905c860ebaa78f384 100644 (file)
@@ -586,6 +586,7 @@ void drm_sched_entity_push_job(struct drm_sched_job *sched_job)
        ktime_t submit_ts;
 
        trace_drm_sched_job(sched_job, entity);
+       atomic_inc(entity->rq->sched->score);
        WRITE_ONCE(entity->last_user, current->group_leader);
 
        /*
@@ -613,7 +614,6 @@ void drm_sched_entity_push_job(struct drm_sched_job *sched_job)
                rq = entity->rq;
                sched = rq->sched;
 
-               atomic_inc(sched->score);
                drm_sched_rq_add_entity(rq, entity);
                spin_unlock(&entity->rq_lock);