public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/7] Preemption support for A7XX
@ 2024-08-15 18:26 Antonino Maniscalco
  2024-08-15 18:26 ` [PATCH 1/7] drm/msm: Fix bv_fence being used as bv_rptr Antonino Maniscalco
                   ` (8 more replies)
  0 siblings, 9 replies; 47+ messages in thread
From: Antonino Maniscalco @ 2024-08-15 18:26 UTC (permalink / raw)
  To: Rob Clark, Sean Paul, Konrad Dybcio, Abhinav Kumar,
	Dmitry Baryshkov, Marijn Suijten, David Airlie, Daniel Vetter,
	Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann
  Cc: linux-arm-msm, dri-devel, freedreno, linux-kernel,
	Antonino Maniscalco, Sharat Masetty

This series implements preemption for A7XX targets, which allows the GPU to
switch to an higher priority ring when work is pushed to it, reducing latency
for high priority submissions.

This series enables L1 preemption with skip_save_restore which requires
the following userspace patches to function:

https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30544

A flag is added to `msm_gem_submit` to only allow submissions from compatible
userspace to be preempted, therefore maintaining compatibility.

Some commits from this series are based on a previous series to enable
preemption on A6XX targets:

https://lkml.kernel.org/1520489185-21828-1-git-send-email-smasetty@codeaurora.org

Signed-off-by: Antonino Maniscalco <antomani103@gmail.com>
---
Antonino Maniscalco (7):
      drm/msm: Fix bv_fence being used as bv_rptr
      drm/msm: Add submitqueue setup and close
      drm/msm: Add a `preempt_record_size` field
      drm/msm/A6xx: Implement preemption for A7XX targets
      drm/msm/A6xx: Add traces for preemption
      drm/msm/A6XX: Add a flag to allow preemption to submitqueue_create
      drm/msm/A6xx: Enable preemption for A7xx targets

 drivers/gpu/drm/msm/Makefile              |   1 +
 drivers/gpu/drm/msm/adreno/a6xx_catalog.c |   3 +
 drivers/gpu/drm/msm/adreno/a6xx_gpu.c     | 339 ++++++++++++++++++++++-
 drivers/gpu/drm/msm/adreno/a6xx_gpu.h     | 168 ++++++++++++
 drivers/gpu/drm/msm/adreno/a6xx_preempt.c | 441 ++++++++++++++++++++++++++++++
 drivers/gpu/drm/msm/adreno/adreno_gpu.h   |   1 +
 drivers/gpu/drm/msm/msm_gpu.h             |   7 +
 drivers/gpu/drm/msm/msm_gpu_trace.h       |  28 ++
 drivers/gpu/drm/msm/msm_ringbuffer.h      |   8 +
 drivers/gpu/drm/msm/msm_submitqueue.c     |  10 +
 include/uapi/drm/msm_drm.h                |   5 +-
 11 files changed, 995 insertions(+), 16 deletions(-)
---
base-commit: 7c626ce4bae1ac14f60076d00eafe71af30450ba
change-id: 20240815-preemption-a750-t-fcee9a844b39

Best regards,
-- 
Antonino Maniscalco <antomani103@gmail.com>


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

end of thread, other threads:[~2024-08-28 19:46 UTC | newest]

Thread overview: 47+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-08-15 18:26 [PATCH 0/7] Preemption support for A7XX Antonino Maniscalco
2024-08-15 18:26 ` [PATCH 1/7] drm/msm: Fix bv_fence being used as bv_rptr Antonino Maniscalco
2024-08-19 19:59   ` Akhil P Oommen
2024-08-20 10:09   ` Konrad Dybcio
2024-08-20 10:45     ` Connor Abbott
2024-08-20 11:25       ` Konrad Dybcio
2024-08-15 18:26 ` [PATCH 2/7] drm/msm: Add submitqueue setup and close Antonino Maniscalco
2024-08-19 20:00   ` Akhil P Oommen
2024-08-20 10:10   ` Konrad Dybcio
2024-08-20 13:49     ` Antonino Maniscalco
2024-08-15 18:26 ` [PATCH 3/7] drm/msm: Add a `preempt_record_size` field Antonino Maniscalco
2024-08-19 20:03   ` Akhil P Oommen
2024-08-15 18:26 ` [PATCH 4/7] drm/msm/A6xx: Implement preemption for A7XX targets Antonino Maniscalco
2024-08-16 12:23   ` kernel test robot
2024-08-18  0:34   ` kernel test robot
2024-08-19 20:08   ` Akhil P Oommen
2024-08-21 14:34     ` Antonino Maniscalco
2024-08-22 19:23       ` Akhil P Oommen
2024-08-23  0:19         ` Antonino Maniscalco
2024-08-21 16:02     ` Connor Abbott
2024-08-22 20:05       ` Akhil P Oommen
2024-08-23  9:21         ` Connor Abbott
2024-08-23  9:23           ` Connor Abbott
2024-08-27 19:48             ` Akhil P Oommen
2024-08-27 20:25               ` Antonino Maniscalco
2024-08-27 21:07                 ` Rob Clark
2024-08-27 22:56                   ` Antonino Maniscalco
2024-08-28 13:42                     ` Rob Clark
2024-08-28 13:46                       ` Rob Clark
2024-08-28 19:23                         ` Akhil P Oommen
2024-08-28 19:46                           ` Antonino Maniscalco
2024-08-15 18:26 ` [PATCH 5/7] drm/msm/A6xx: Add traces for preemption Antonino Maniscalco
2024-08-19 20:11   ` Akhil P Oommen
2024-08-15 18:26 ` [PATCH 6/7] drm/msm/A6XX: Add a flag to allow preemption to submitqueue_create Antonino Maniscalco
2024-08-19 20:31   ` Akhil P Oommen
2024-08-20 10:48     ` Connor Abbott
2024-08-22 19:21       ` Akhil P Oommen
2024-08-23  0:01         ` Antonino Maniscalco
2024-08-20 10:16   ` Konrad Dybcio
2024-08-20 10:18     ` Konrad Dybcio
2024-08-15 18:26 ` [PATCH 7/7] drm/msm/A6xx: Enable preemption for A7xx targets Antonino Maniscalco
2024-08-19 20:41   ` Akhil P Oommen
2024-08-16 17:47 ` [PATCH 0/7] Preemption support for A7XX Rob Clark
2024-08-16 23:42   ` Antonino Maniscalco
2024-08-23  8:22 ` neil.armstrong
2024-08-23  9:54   ` Connor Abbott
2024-08-23 10:44     ` neil.armstrong

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