dri-devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/13] drm/msm: Hook up the DRM gpu scheduler
@ 2018-10-01 12:31 Sharat Masetty
       [not found] ` <1538397105-19581-1-git-send-email-smasetty-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
  0 siblings, 1 reply; 22+ messages in thread
From: Sharat Masetty @ 2018-10-01 12:31 UTC (permalink / raw)
  To: freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW
  Cc: linux-arm-msm-u79uwXL29TY76Z2rM5mHXA,
	jcrouse-sgV2jX0FEOL9JmXXK+q4OQ, Sharat Masetty,
	dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW

This series is an effort to have the msm drm driver start using the DRM gpu
scheduler for its general job scheduling needs. Immediate benefits to the msm
drm driver include async fencing and improved driver performance.

Testing is still under progress, but general GPU submissions, preemption,
timeout, fault recovery and slumber all work fine with these changes when
tested using my test apps. My workspace is based on ~4.18.rc6, so these changes
should apply on tip relatively easily.

Please review and share your valuable feedback :-).

Note that I backported a change from Linus's 4.19.rc1 tree to handle jiffie
wrapping. If it's not desirable, I will squash the last few changes of the
series under drm/msm into one single commit.

Matteo Croce (1):
  jiffies: add utility function to calculate delta in ms

Sharat Masetty (12):
  drm/msm: Track GPU fences with idr
  drm/msm: Change msm_gpu_submit() API
  drm/msm: Save the ring name in the ring structure
  drm/msm: Change the name of the fence to hw_fence
  drm/msm: rearrange submit buffer objects clean up
  drm/msm: Use kzalloc for submit struct allocation
  drm/msm: Fix leak in submitqueue create
  drm/scheduler: set sched->thread to NULL in failure
  drm/msm: Use the DRM common Scheduler
  msm/drm: Remove unused code
  drm/scheduler: Add a timeout_start_notify function op
  drm/msm: Implement better timeout detection

 drivers/gpu/drm/msm/Kconfig               |   1 +
 drivers/gpu/drm/msm/Makefile              |   3 +-
 drivers/gpu/drm/msm/adreno/a5xx_gpu.c     |   3 -
 drivers/gpu/drm/msm/adreno/a5xx_preempt.c |  29 +++
 drivers/gpu/drm/msm/adreno/adreno_gpu.c   |   3 +
 drivers/gpu/drm/msm/msm_drv.c             |   3 +-
 drivers/gpu/drm/msm/msm_drv.h             |   5 +-
 drivers/gpu/drm/msm/msm_fence.c           |  52 ++---
 drivers/gpu/drm/msm/msm_fence.h           |   5 +-
 drivers/gpu/drm/msm/msm_gem.c             |  44 +---
 drivers/gpu/drm/msm/msm_gem.h             |  10 +-
 drivers/gpu/drm/msm/msm_gem_submit.c      | 170 +++++++++-----
 drivers/gpu/drm/msm/msm_gpu.c             | 264 ++++------------------
 drivers/gpu/drm/msm/msm_gpu.h             |  11 +-
 drivers/gpu/drm/msm/msm_ringbuffer.c      |  17 +-
 drivers/gpu/drm/msm/msm_ringbuffer.h      |   7 +
 drivers/gpu/drm/msm/msm_sched.c           | 355 ++++++++++++++++++++++++++++++
 drivers/gpu/drm/msm/msm_sched.h           |  18 ++
 drivers/gpu/drm/msm/msm_submitqueue.c     |  16 +-
 drivers/gpu/drm/scheduler/gpu_scheduler.c |  22 +-
 include/drm/gpu_scheduler.h               |   6 +
 include/linux/jiffies.h                   |   5 +
 22 files changed, 662 insertions(+), 387 deletions(-)
 create mode 100644 drivers/gpu/drm/msm/msm_sched.c
 create mode 100644 drivers/gpu/drm/msm/msm_sched.h

--
1.9.1

_______________________________________________
Freedreno mailing list
Freedreno@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/freedreno

^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2018-10-03 10:50 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-10-01 12:31 [PATCH 00/13] drm/msm: Hook up the DRM gpu scheduler Sharat Masetty
     [not found] ` <1538397105-19581-1-git-send-email-smasetty-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2018-10-01 12:31   ` [PATCH 01/13] drm/msm: Track GPU fences with idr Sharat Masetty
     [not found]     ` <1538397105-19581-2-git-send-email-smasetty-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2018-10-01 19:03       ` Jordan Crouse
     [not found]         ` <20181001190333.GE31641-9PYrDHPZ2Orvke4nUoYGnHL1okKdlPRT@public.gmane.org>
2018-10-01 21:49           ` Rob Clark
2018-10-01 12:31   ` [PATCH 02/13] drm/msm: Change msm_gpu_submit() API Sharat Masetty
     [not found]     ` <1538397105-19581-3-git-send-email-smasetty-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2018-10-01 18:00       ` Jordan Crouse
2018-10-01 12:31   ` [PATCH 03/13] drm/msm: Save the ring name in the ring structure Sharat Masetty
     [not found]     ` <1538397105-19581-4-git-send-email-smasetty-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2018-10-01 18:01       ` Jordan Crouse
2018-10-01 12:31   ` [PATCH 04/13] drm/msm: Change the name of the fence to hw_fence Sharat Masetty
2018-10-01 12:31   ` [PATCH 05/13] drm/msm: rearrange submit buffer objects clean up Sharat Masetty
2018-10-01 12:31   ` [PATCH 06/13] drm/msm: Use kzalloc for submit struct allocation Sharat Masetty
     [not found]     ` <1538397105-19581-7-git-send-email-smasetty-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2018-10-01 18:13       ` Jordan Crouse
2018-10-03 10:50         ` [Freedreno] " Sharat Masetty
2018-10-01 12:31   ` [PATCH 07/13] drm/msm: Fix leak in submitqueue create Sharat Masetty
2018-10-01 12:31   ` [PATCH 08/13] drm/scheduler: set sched->thread to NULL in failure Sharat Masetty
2018-10-01 12:31   ` [PATCH 09/13] drm/msm: Use the DRM common Scheduler Sharat Masetty
     [not found]     ` <1538397105-19581-10-git-send-email-smasetty-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2018-10-01 19:02       ` Jordan Crouse
2018-10-03 10:43         ` Sharat Masetty
2018-10-01 12:31   ` [PATCH 10/13] msm/drm: Remove unused code Sharat Masetty
2018-10-01 12:31   ` [PATCH 11/13] drm/scheduler: Add a timeout_start_notify function op Sharat Masetty
2018-10-01 12:31   ` [PATCH 12/13] jiffies: add utility function to calculate delta in ms Sharat Masetty
2018-10-01 12:31   ` [PATCH 13/13] drm/msm: Implement better timeout detection Sharat Masetty

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox