[PATCH 0/4] Etnaviv GPU scheduler

Lucas Stach l.stach at pengutronix.de
Wed Dec 6 17:10:48 UTC 2017


Hi all,

this hooks up the AMDGPU/DRM GPU scheduler in etnaviv. This depends on both
the etnaviv job lifetime fixes series, as well as the AMDGPU scheduler move.
Please keep this in mind while reviewing.

The scheduler has 4 main benefits to etnaviv:
1. Cross GPU/device synchronization is handled in the kernel without blocking
   the submitting userspace process.
2. Fairness in GPU time is improved, as all processes get to submit to the
   HW in a round robin fashion. Before this a single application could
   pretty much DoS the GPU by submitting jobs with minimal dependencies.
3. GPU resets loose a lot less state. The scheduler keeps track of the
   HW submitted jobs and replays innocent jobs after a GPU reset. Thus
   isolation between different processes using the GPU is improved as
   a process hanging the GPU will not impact other jobs anymore.
4. It provides useful tracepoints to keep track of the GPU execution.

Regards,
Lucas

Lucas Stach (4):
  drm/etnaviv: hook up DRM GPU scheduler
  drm/etnaviv: move dependency handling to scheduler
  drm/etnaviv: lock BOs after all other submit work is done
  drm/etnaviv: replace hangcheck with scheduler timeout

 drivers/gpu/drm/etnaviv/Kconfig              |   1 +
 drivers/gpu/drm/etnaviv/Makefile             |   3 +-
 drivers/gpu/drm/etnaviv/etnaviv_drv.c        |  16 ++
 drivers/gpu/drm/etnaviv/etnaviv_drv.h        |   7 +-
 drivers/gpu/drm/etnaviv/etnaviv_dump.c       |  21 ++-
 drivers/gpu/drm/etnaviv/etnaviv_gem.h        |   4 +
 drivers/gpu/drm/etnaviv/etnaviv_gem_submit.c |  65 ++++---
 drivers/gpu/drm/etnaviv/etnaviv_gpu.c        | 250 +++++----------------------
 drivers/gpu/drm/etnaviv/etnaviv_gpu.h        |  28 +--
 drivers/gpu/drm/etnaviv/etnaviv_sched.c      | 169 ++++++++++++++++++
 drivers/gpu/drm/etnaviv/etnaviv_sched.h      |  34 ++++
 11 files changed, 339 insertions(+), 259 deletions(-)
 create mode 100644 drivers/gpu/drm/etnaviv/etnaviv_sched.c
 create mode 100644 drivers/gpu/drm/etnaviv/etnaviv_sched.h

-- 
2.11.0



More information about the dri-devel mailing list