diff options
author | 2023-11-02 10:55:35 +0000 | |
---|---|---|
committer | 2023-11-04 21:18:08 -0400 | |
commit | e608d9f7ac1a94a4a63d1ef2b37dd80669ad828d (patch) | |
tree | a11d0e8a2ae1e75aadc93dd3dca11d849bd59f34 | |
parent | drm/sched: Rename drm_sched_get_cleanup_job to be more descriptive (diff) | |
download | wireguard-linux-e608d9f7ac1a94a4a63d1ef2b37dd80669ad828d.tar.xz wireguard-linux-e608d9f7ac1a94a4a63d1ef2b37dd80669ad828d.zip |
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>
-rw-r--r-- | drivers/gpu/drm/scheduler/sched_main.c | 7 |
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); } /** |