Message ID | 20230811023137.659037-1-matthew.brost@intel.com (mailing list archive) |
---|---|
Headers | show |
Series | DRM scheduler changes for Xe | expand |
Hi Matt, On 8/11/23 04:31, Matthew Brost wrote: > As a prerequisite to merging the new Intel Xe DRM driver [1] [2], we > have been asked to merge our common DRM scheduler patches first. > > This a continuation of a RFC [3] with all comments addressed, ready for > a full review, and hopefully in state which can merged in the near > future. More details of this series can found in the cover letter of the > RFC [3]. > > These changes have been tested with the Xe driver. Do you keep a branch with these patches somewhere? - Danilo > > v2: > - Break run job, free job, and process message in own work items > - This might break other drivers as run job and free job now can run in > parallel, can fix up if needed > > Matt > > Matthew Brost (9): > drm/sched: Convert drm scheduler to use a work queue rather than > kthread > drm/sched: Move schedule policy to scheduler / entity > drm/sched: Add DRM_SCHED_POLICY_SINGLE_ENTITY scheduling policy > drm/sched: Split free_job into own work item > drm/sched: Add generic scheduler message interface > drm/sched: Add drm_sched_start_timeout_unlocked helper > drm/sched: Start run wq before TDR in drm_sched_start > drm/sched: Submit job before starting TDR > drm/sched: Add helper to set TDR timeout > > drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 3 +- > drivers/gpu/drm/etnaviv/etnaviv_sched.c | 5 +- > drivers/gpu/drm/lima/lima_sched.c | 5 +- > drivers/gpu/drm/msm/msm_ringbuffer.c | 5 +- > drivers/gpu/drm/nouveau/nouveau_sched.c | 5 +- > drivers/gpu/drm/panfrost/panfrost_job.c | 5 +- > drivers/gpu/drm/scheduler/sched_entity.c | 85 ++++- > drivers/gpu/drm/scheduler/sched_fence.c | 2 +- > drivers/gpu/drm/scheduler/sched_main.c | 408 ++++++++++++++++----- > drivers/gpu/drm/v3d/v3d_sched.c | 25 +- > include/drm/gpu_scheduler.h | 75 +++- > 11 files changed, 487 insertions(+), 136 deletions(-) >
On Thu, Aug 24, 2023 at 02:08:59AM +0200, Danilo Krummrich wrote: > Hi Matt, > > On 8/11/23 04:31, Matthew Brost wrote: > > As a prerequisite to merging the new Intel Xe DRM driver [1] [2], we > > have been asked to merge our common DRM scheduler patches first. > > > > This a continuation of a RFC [3] with all comments addressed, ready for > > a full review, and hopefully in state which can merged in the near > > future. More details of this series can found in the cover letter of the > > RFC [3]. > > > > These changes have been tested with the Xe driver. > > Do you keep a branch with these patches somewhere? > Pushed a branch for you: https://gitlab.freedesktop.org/mbrost/nouveau-drm-scheduler/-/tree/xe-sched-changes?ref_type=heads Matt > - Danilo > > > > > v2: > > - Break run job, free job, and process message in own work items > > - This might break other drivers as run job and free job now can run in > > parallel, can fix up if needed > > > > Matt > > > > Matthew Brost (9): > > drm/sched: Convert drm scheduler to use a work queue rather than > > kthread > > drm/sched: Move schedule policy to scheduler / entity > > drm/sched: Add DRM_SCHED_POLICY_SINGLE_ENTITY scheduling policy > > drm/sched: Split free_job into own work item > > drm/sched: Add generic scheduler message interface > > drm/sched: Add drm_sched_start_timeout_unlocked helper > > drm/sched: Start run wq before TDR in drm_sched_start > > drm/sched: Submit job before starting TDR > > drm/sched: Add helper to set TDR timeout > > > > drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 3 +- > > drivers/gpu/drm/etnaviv/etnaviv_sched.c | 5 +- > > drivers/gpu/drm/lima/lima_sched.c | 5 +- > > drivers/gpu/drm/msm/msm_ringbuffer.c | 5 +- > > drivers/gpu/drm/nouveau/nouveau_sched.c | 5 +- > > drivers/gpu/drm/panfrost/panfrost_job.c | 5 +- > > drivers/gpu/drm/scheduler/sched_entity.c | 85 ++++- > > drivers/gpu/drm/scheduler/sched_fence.c | 2 +- > > drivers/gpu/drm/scheduler/sched_main.c | 408 ++++++++++++++++----- > > drivers/gpu/drm/v3d/v3d_sched.c | 25 +- > > include/drm/gpu_scheduler.h | 75 +++- > > 11 files changed, 487 insertions(+), 136 deletions(-) > > >
On 8/24/23 05:23, Matthew Brost wrote: > On Thu, Aug 24, 2023 at 02:08:59AM +0200, Danilo Krummrich wrote: >> Hi Matt, >> >> On 8/11/23 04:31, Matthew Brost wrote: >>> As a prerequisite to merging the new Intel Xe DRM driver [1] [2], we >>> have been asked to merge our common DRM scheduler patches first. >>> >>> This a continuation of a RFC [3] with all comments addressed, ready for >>> a full review, and hopefully in state which can merged in the near >>> future. More details of this series can found in the cover letter of the >>> RFC [3]. >>> >>> These changes have been tested with the Xe driver. >> >> Do you keep a branch with these patches somewhere? >> > > Pushed a branch for you: > https://gitlab.freedesktop.org/mbrost/nouveau-drm-scheduler/-/tree/xe-sched-changes?ref_type=heads Great - gonna pick this up to work on making use of DRM_SCHED_POLICY_SINGLE_ENTITY in Nouveau. - Danilo > > Matt > >> - Danilo >> >>> >>> v2: >>> - Break run job, free job, and process message in own work items >>> - This might break other drivers as run job and free job now can run in >>> parallel, can fix up if needed >>> >>> Matt >>> >>> Matthew Brost (9): >>> drm/sched: Convert drm scheduler to use a work queue rather than >>> kthread >>> drm/sched: Move schedule policy to scheduler / entity >>> drm/sched: Add DRM_SCHED_POLICY_SINGLE_ENTITY scheduling policy >>> drm/sched: Split free_job into own work item >>> drm/sched: Add generic scheduler message interface >>> drm/sched: Add drm_sched_start_timeout_unlocked helper >>> drm/sched: Start run wq before TDR in drm_sched_start >>> drm/sched: Submit job before starting TDR >>> drm/sched: Add helper to set TDR timeout >>> >>> drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 3 +- >>> drivers/gpu/drm/etnaviv/etnaviv_sched.c | 5 +- >>> drivers/gpu/drm/lima/lima_sched.c | 5 +- >>> drivers/gpu/drm/msm/msm_ringbuffer.c | 5 +- >>> drivers/gpu/drm/nouveau/nouveau_sched.c | 5 +- >>> drivers/gpu/drm/panfrost/panfrost_job.c | 5 +- >>> drivers/gpu/drm/scheduler/sched_entity.c | 85 ++++- >>> drivers/gpu/drm/scheduler/sched_fence.c | 2 +- >>> drivers/gpu/drm/scheduler/sched_main.c | 408 ++++++++++++++++----- >>> drivers/gpu/drm/v3d/v3d_sched.c | 25 +- >>> include/drm/gpu_scheduler.h | 75 +++- >>> 11 files changed, 487 insertions(+), 136 deletions(-) >>> >> >