summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorTvrtko Ursulin <tvrtko.ursulin@intel.com>2023-11-02 13:55:35 +0300
committerLuben Tuikov <ltuikov89@gmail.com>2023-11-05 04:18:08 +0300
commite608d9f7ac1a94a4a63d1ef2b37dd80669ad828d (patch)
treea11d0e8a2ae1e75aadc93dd3dca11d849bd59f34 /drivers
parent7abbbe2694b3d4fd366dc91934f42c047a6d282d (diff)
downloadlinux-e608d9f7ac1a94a4a63d1ef2b37dd80669ad828d.tar.xz
drm/sched: Move free worker re-queuing out of the if block
Whether or not there are more jobs to clean up does not depend on the existance of the current job, given both drm_sched_get_finished_job and drm_sched_free_job_queue_if_done take and drop the job list lock. Therefore it is confusing to make it read like there is a dependency. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Cc: Luben Tuikov <ltuikov89@gmail.com> Cc: Matthew Brost <matthew.brost@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20231102105538.391648-3-tvrtko.ursulin@linux.intel.com Reviewed-by: Luben Tuikov <ltuikov89@gmail.com> Signed-off-by: Luben Tuikov <ltuikov89@gmail.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gpu/drm/scheduler/sched_main.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/gpu/drm/scheduler/sched_main.c b/drivers/gpu/drm/scheduler/sched_main.c
index fb64b35451f5..e1658030613f 100644
--- a/drivers/gpu/drm/scheduler/sched_main.c
+++ b/drivers/gpu/drm/scheduler/sched_main.c
@@ -1065,12 +1065,11 @@ static void drm_sched_free_job_work(struct work_struct *w)
return;
job = drm_sched_get_finished_job(sched);
- if (job) {
+ if (job)
sched->ops->free_job(job);
- drm_sched_free_job_queue_if_done(sched);
- drm_sched_run_job_queue_if_ready(sched);
- }
+ drm_sched_free_job_queue_if_done(sched);
+ drm_sched_run_job_queue_if_ready(sched);
}
/**