mbox series

[0/2] drm/msm: Un-break multi-context gl

Message ID 20211001175857.1324712-1-robdclark@gmail.com (mailing list archive)
Headers show
Series drm/msm: Un-break multi-context gl | expand

Message

Rob Clark Oct. 1, 2021, 5:58 p.m. UTC
From: Rob Clark <robdclark@chromium.org>

Userspace is expecting that a single thread doing rendering against
multiple contexts does not need additional synchronization between those
contexts beyond ensuring work is flushed to the kernel in the correct
order.  But if we have a sched-entity per-context, and are not using
implicit sync, GPU jobs from different contexts can execute in a
different order than they were flushed to the kernel.

To solve that, share sched-entities for a given priority level between
submitqueues (which map to gl contexts).

Rob Clark (2):
  drm/msm: A bit more docs + cleanup
  drm/msm: One sched entity per process per priority

 drivers/gpu/drm/msm/msm_drv.h         | 44 -----------------
 drivers/gpu/drm/msm/msm_gem_submit.c  |  2 +-
 drivers/gpu/drm/msm/msm_gpu.h         | 66 +++++++++++++++++++++++++-
 drivers/gpu/drm/msm/msm_submitqueue.c | 68 +++++++++++++++++++++++----
 4 files changed, 123 insertions(+), 57 deletions(-)