[PATCH] drm/sched: revert "Always increment correct scheduler score"

Tvrtko Ursulin tursulin at ursulin.net
Mon Sep 30 13:28:01 UTC 2024


On 30/09/2024 14:14, Christian König wrote:
> 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 at amd.com>
> ---
>   drivers/gpu/drm/scheduler/sched_entity.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/scheduler/sched_entity.c b/drivers/gpu/drm/scheduler/sched_entity.c
> index b2cf3e0c1838..a75eede8bf8d 100644
> --- a/drivers/gpu/drm/scheduler/sched_entity.c
> +++ b/drivers/gpu/drm/scheduler/sched_entity.c
> @@ -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);
>   

This was definitely broken so revert is the right thing, thank you.

Acked-by: Tvrtko Ursulin <tvrtko.ursulin at igalia.com>

Regards,

Tvrtko


More information about the dri-devel mailing list