drm/sched: Split free_job into own work item
authorMatthew Brost <matthew.brost@intel.com>
Tue, 31 Oct 2023 03:24:37 +0000 (20:24 -0700)
committerLuben Tuikov <ltuikov89@gmail.com>
Wed, 1 Nov 2023 21:29:21 +0000 (17:29 -0400)
commitf7fe64ad0f22ff034f8ebcfbd7299ee9cc9b57d7
treefe5c8e7dabcaf9a34e039a27f66e3b60524fd948
parenta6149f0393699308fb00149be913044977bceb56
drm/sched: Split free_job into own work item

Rather than call free_job and run_job in same work item have a dedicated
work item for each. This aligns with the design and intended use of work
queues.

v2:
   - Test for DMA_FENCE_FLAG_TIMESTAMP_BIT before setting
     timestamp in free_job() work item (Danilo)
v3:
  - Drop forward dec of drm_sched_select_entity (Boris)
  - Return in drm_sched_run_job_work if entity NULL (Boris)
v4:
  - Replace dequeue with peek and invert logic (Luben)
  - Wrap to 100 lines (Luben)
  - Update comments for *_queue / *_queue_if_ready functions (Luben)
v5:
  - Drop peek argument, blindly reinit idle (Luben)
  - s/drm_sched_free_job_queue_if_ready/drm_sched_free_job_queue_if_done (Luben)
  - Update work_run_job & work_free_job kernel doc (Luben)
v6:
  - Do not move drm_sched_select_entity in file (Luben)

Signed-off-by: Matthew Brost <matthew.brost@intel.com>
Link: https://lore.kernel.org/r/20231031032439.1558703-4-matthew.brost@intel.com
Reviewed-by: Luben Tuikov <ltuikov89@gmail.com>
Signed-off-by: Luben Tuikov <ltuikov89@gmail.com>
drivers/gpu/drm/scheduler/sched_main.c
include/drm/gpu_scheduler.h