Browse Source

drm/scheduler: avoid redundant shifting of the entity v2

do not remove entity from the rq if the current rq is from
the least loaded scheduler.

Signed-off-by: Nayan Deshmukh <nayan26deshmukh@gmail.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Nayan Deshmukh 7 years ago
parent
commit
c89677afb3
1 changed files with 3 additions and 0 deletions
  1. 3 0
      drivers/gpu/drm/scheduler/sched_entity.c

+ 3 - 0
drivers/gpu/drm/scheduler/sched_entity.c

@@ -476,6 +476,9 @@ void drm_sched_entity_select_rq(struct drm_sched_entity *entity)
 		return;
 
 	rq = drm_sched_entity_get_free_sched(entity);
+	if (rq == entity->rq)
+		return;
+
 	spin_lock(&entity->rq_lock);
 	drm_sched_rq_remove_entity(entity->rq, entity);
 	entity->rq = rq;