1. 07 Oct, 2022 14 commits
  2. 06 Oct, 2022 1 commit
  3. 05 Oct, 2022 5 commits
  4. 04 Oct, 2022 16 commits
  5. 03 Oct, 2022 3 commits
  6. 30 Sep, 2022 1 commit
    • Andrey Grodzovsky's avatar
      drm/sched: Add FIFO sched policy to run queue · 08fb97de
      Andrey Grodzovsky authored
      When many entities are competing for the same run queue
      on the same scheduler, we observe an unusually long wait
      times and some jobs get starved. This has been observed on GPUVis.
      
      The issue is due to the Round Robin policy used by schedulers
      to pick up the next entity's job queue for execution. Under stress
      of many entities and long job queues within entity some
      jobs could be stuck for very long time in it's entity's
      queue before being popped from the queue and executed
      while for other entities with smaller job queues a job
      might execute earlier even though that job arrived later
      then the job in the long queue.
      
      Fix:
      Add FIFO selection policy to entities in run queue, chose next entity
      on run queue in such order that if job on one entity arrived
      earlier then job on another entity the first job will start
      executing earlier regardless of the length of the entity's job
      queue.
      
      v2:
      Switch to rb tree structure for entities based on TS of
      oldest job waiting in the job queue of an entity. Improves next
      entity extraction to O(1). Entity TS update
      O(log N) where N is the number of entities in the run-queue
      
      Drop default option in module control parameter.
      
      v3:
      Various cosmetical fixes and minor refactoring of fifo update function. (Luben)
      
      v4:
      Switch drm_sched_rq_select_entity_fifo to in order search (Luben)
      
      v5: Fix up drm_sched_rq_select_entity_fifo loop (Luben)
      
      v6: Add missing drm_sched_rq_remove_fifo_locked
      
      v7: Fix ts sampling bug and more cosmetic stuff (Luben)
      
      v8: Fix module parameter string (Luben)
      
      Cc: Luben Tuikov <luben.tuikov@amd.com>
      Cc: Christian König <christian.koenig@amd.com>
      Cc: Direct Rendering Infrastructure - Development <dri-devel@lists.freedesktop.org>
      Cc: AMD Graphics <amd-gfx@lists.freedesktop.org>
      Signed-off-by: default avatarAndrey Grodzovsky <andrey.grodzovsky@amd.com>
      Tested-by: default avatarYunxiang Li (Teddy) <Yunxiang.Li@amd.com>
      Signed-off-by: default avatarLuben Tuikov <luben.tuikov@amd.com>
      Reviewed-by: default avatarLuben Tuikov <luben.tuikov@amd.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20220930041258.1050247-1-luben.tuikov@amd.com
      08fb97de