Re: [PATCH 0/7] Preemption support for A7XX

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 8/16/24 7:47 PM, Rob Clark wrote:
On Thu, Aug 15, 2024 at 11:27 AM Antonino Maniscalco
<antomani103@xxxxxxxxx> wrote:

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.

I guess this last para is from an earlier iteration of this series?
Looks like instead you are making this a submitqueue flag (which is an
approach that I prefer)

BR,
-R


That is correct, I got confused on which one I ended up going with when I wrote that.

Thanks for spotting it!

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@xxxxxxxxxxxxxx

Signed-off-by: Antonino Maniscalco <antomani103@xxxxxxxxx>
---
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@xxxxxxxxx>


Best regards,
--
Antonino Maniscalco <antomani103@xxxxxxxxx>





[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [Linux for Sparc]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux