1. 08 Nov, 2023 1 commit
    • Luben Tuikov's avatar
      drm/sched: Don't disturb the entity when in RR-mode scheduling · bc8d6a9d
      Luben Tuikov authored
      Don't call drm_sched_select_entity() in drm_sched_run_job_queue().  In fact,
      rename __drm_sched_run_job_queue() to just drm_sched_run_job_queue(), and let
      it do just that, schedule the work item for execution.
      
      The problem is that drm_sched_run_job_queue() calls drm_sched_select_entity()
      to determine if the scheduler has an entity ready in one of its run-queues,
      and in the case of the Round-Robin (RR) scheduling, the function
      drm_sched_rq_select_entity_rr() does just that, selects the _next_ entity
      which is ready, sets up the run-queue and completion and returns that
      entity. The FIFO scheduling algorithm is unaffected.
      
      Now, since drm_sched_run_job_work() also calls drm_sched_select_entity(), then
      in the case of RR scheduling, that would result in drm_sched_select_entity()
      having been called twice, which may result in skipping a ready entity if more
      than one entity is ready. This commit fixes this by eliminating the call to
      drm_sched_select_entity() from drm_sched_run_job_queue(), and leaves it only
      in drm_sched_run_job_work().
      
      v2: Rebased on top of Tvrtko's renames series of patches. (Luben)
          Add fixes-tag. (Tvrtko)
      Signed-off-by: default avatarLuben Tuikov <ltuikov89@gmail.com>
      Fixes: f7fe64ad ("drm/sched: Split free_job into own work item")
      Reviewed-by: default avatarMatthew Brost <matthew.brost@intel.com>
      Reviewed-by: default avatarDanilo Krummrich <dakr@redhat.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20231107041020.10035-2-ltuikov89@gmail.com
      bc8d6a9d
  2. 07 Nov, 2023 1 commit
  3. 06 Nov, 2023 4 commits
  4. 05 Nov, 2023 5 commits
  5. 03 Nov, 2023 2 commits
  6. 02 Nov, 2023 6 commits
  7. 01 Nov, 2023 6 commits
  8. 31 Oct, 2023 10 commits
  9. 30 Oct, 2023 5 commits