[PATCH v15 00/17] Add OA functionality to Xe

Souza, Jose jose.souza at intel.com
Mon Jun 17 21:14:28 UTC 2024


On Mon, 2024-06-17 at 14:05 -0700, Dixit, Ashutosh wrote:
> On Mon, 17 Jun 2024 12:36:11 -0700, Rodrigo Vivi wrote:
> > 
> 
> Hi Rodrigo,
> 
> Thanks for responding :)
> 
> > On Fri, Jun 14, 2024 at 08:12:45AM -0700, Dixit, Ashutosh wrote:
> > > On Thu, 06 Jun 2024 13:54:18 -0700, Dixit, Ashutosh wrote:
> > > > 
> > > > On Thu, 06 Jun 2024 12:56:13 -0700, Dixit, Ashutosh wrote:
> > > > > 
> > > > 
> > > > Hi Lucas / Rodrigo / Thomas,
> > > > 
> > > > > On Wed, 05 Jun 2024 07:12:54 -0700, Souza, Jose wrote:
> > > > > > 
> > > > > 
> > > > > Hi Jose,
> > > > > 
> > > > > > On Sun, 2024-05-26 at 18:43 -0700, Ashutosh Dixit wrote:
> > > > > > > Please see cover letter for v7 here:
> > > > > > > https://patchwork.freedesktop.org/series/121084/#rev7
> > > > > > > 
> > > > > > > For changes in later versions see changelog below.
> > > > > > > 
> > > > > > > This series is also available at:
> > > > > > >         https://gitlab.freedesktop.org/adixit/kernel/-/tree/xe-oa
> > > > > > > 
> > > > > > > The series has been tested against this IGT series:
> > > > > > >         https://gitlab.freedesktop.org/adixit/igt-gpu-tools/-/tree/xe-oa
> > > > > > > 	or,
> > > > > > > 	https://patchwork.freedesktop.org/series/130033/
> > > > > > > 
> > > > > > > Opensource consumers using uapi in this series:
> > > > > > > 
> > > > > > > gpuvis:
> > > > > > > 	https://github.com/mikesart/gpuvis/pull/86
> > > > > > > 
> > > > > > > mesa:
> > > > > > > 	https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29312
> > > > > > > 
> > > > > > > Test-with: 20240524031439.106332-1-ashutosh.dixit at intel.com
> > > > > > > 
> > > > > > 
> > > > > > As first round this uAPI looks good for Mesa usage, second round after
> > > > > > this ones is merged will add additional features and uAPIs need to
> > > > > > support all Mesa needs.
> > > > > 
> > > > > Correct. Copy/paste from another email in this thread, this is what we are
> > > > > looking at for the second round:
> > > > > 
> > > > > * hold preemption (needs some investigation as to feasibility)
> > > > > * xe_sync for OA stream configuration and reconfiguration
> > > > > * Equivalent of DRM_I915_QUERY_PERF_CONFIG_DATA_FOR_UUID. I am still trying
> > > > >   to figure out if this is really needed. See here:
> > > > >   https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29312#note_2429650
> > > > >   Since this seems to be using some MDAPI metrics in Mesa, I think it
> > > > >   should be ok to do this in the second round too.
> > > > > 
> > > > > > Acked-by: José Roberto de Souza <jose.souza at intel.com>
> > > > > 
> > > > > Thanks very much for the Mesa ack. I will start asking the Xe maintainers
> > > > > if this (and gpuvis PR which is also merged) is sufficient to merge this
> > > > > series now.
> > > > 
> > > > Mesa has now provided their ack for the Xe OA uapi. Also all Mesa Xe OA
> > > > patches now have R-b. The gpuvis PR mentioned above is also merged. The Xe
> > > > OA IGT series is also mentioned above.
> > > > 
> > > > So at this point I want to check with you if these things are sufficient to
> > > > merge these Xe OA patches?
> > > 
> > > Gentle ping about this :) Can we try to get this into 6.11?
> > 
> > Sorry for taking so long to get to this one here.
> > 
> > Is the Mesa MR really ready to get merged right after we merge this kernel series?
> > Are all of the patches there really reviewed? I couldn't make a sense of the open
> > MR discussions and I noticed the MR is still marked as 'Draft:'.
> 
> +Jose: Hi Jose could you please answer Rodrigo's questions above.

According to Jordan, now that Xe KMD is part of Linux stable we need to follow the same process as i915 for uAPI additions.
So we need to wait for uAPI changes to land to drm-next to then be able to merge on Mesa.
After that happens I will remove the 'draft mode' and assign to Mesa bot to merge it.

But all patches are reviewed.

> 
> > 
> > But once we are sure that Mesa is ready and all Michal's concerns on the latest
> > version of the kernel series are solved, then we can definitely merge.
> 
> I addressed Michal's concerns in v17. Except one, which you responded to
> right now and which we are not considering a blocker for merging the
> series.
> 
> > 
> > Deadline for 6.11 is Wednesday next week(Jun/26).
> > 
> > Thanks,
> > Rodrigo.
> 
> Let's wait to hear from Jose and then go from there.
> 
> Thanks.
> --
> Ashutosh
> 
> 
> > > > > > thank you
> > > > > > 
> > > > > > > v2: Fix build
> > > > > > > v3: Rebase, due to s/xe_engine/xe_exec_queue/
> > > > > > > v4: Re-run for testing
> > > > > > > v5: Address review comments, new patches 11 through 17
> > > > > > > v6: New patches 18 through 21
> > > > > > > v7: Patches are completely redone and don't start with i915 version of the uapi
> > > > > > > v8: See https://patchwork.freedesktop.org/patch/575214/?series=128993&rev=1
> > > > > > > v9: See https://patchwork.freedesktop.org/patch/577441/?series=128993&rev=2
> > > > > > > v10: See https://patchwork.freedesktop.org/patch/577943/?series=128993&rev=3
> > > > > > > v11: See https://patchwork.freedesktop.org/patch/581239/?series=130705&rev=1
> > > > > > > v12: Add last two new patches to enable Xe2+ overrun mode
> > > > > > > v13: Update last two patches after code review completion
> > > > > > > v14: https://patchwork.freedesktop.org/patch/595447/?series=134028&rev=1
> > > > > > > v15: https://patchwork.freedesktop.org/patch/595549/?series=134056&rev=1
> > > > > > > 
> > > > > > > Ashutosh Dixit (17):
> > > > > > >   drm/xe/perf/uapi: "Perf" layer to support multiple perf counter stream
> > > > > > >     types
> > > > > > >   drm/xe/perf/uapi: Add perf_stream_paranoid sysctl
> > > > > > >   drm/xe/oa/uapi: Add OA data formats
> > > > > > >   drm/xe/oa/uapi: Initialize OA units
> > > > > > >   drm/xe/oa/uapi: Add/remove OA config perf ops
> > > > > > >   drm/xe/oa/uapi: Define and parse OA stream properties
> > > > > > >   drm/xe/oa: OA stream initialization (OAG)
> > > > > > >   drm/xe/oa/uapi: Expose OA stream fd
> > > > > > >   drm/xe/oa/uapi: Read file_operation
> > > > > > >   drm/xe/oa: Add OAR support
> > > > > > >   drm/xe/oa: Add OAC support
> > > > > > >   drm/xe/oa/uapi: Query OA unit properties
> > > > > > >   drm/xe/oa/uapi: OA buffer mmap
> > > > > > >   drm/xe/oa: Add MMIO trigger support
> > > > > > >   drm/xe/oa: Override GuC RC with OA on PVC
> > > > > > >   drm/xe/oa: Changes to OA_TAKEN
> > > > > > >   drm/xe/oa: Enable Xe2+ overrun mode
> > > > > > > 
> > > > > > >  drivers/gpu/drm/xe/Makefile                   |    2 +
> > > > > > >  .../gpu/drm/xe/instructions/xe_mi_commands.h  |    3 +
> > > > > > >  drivers/gpu/drm/xe/regs/xe_engine_regs.h      |    2 +
> > > > > > >  drivers/gpu/drm/xe/regs/xe_gt_regs.h          |    3 +
> > > > > > >  drivers/gpu/drm/xe/regs/xe_oa_regs.h          |  103 +
> > > > > > >  drivers/gpu/drm/xe/xe_device.c                |   19 +-
> > > > > > >  drivers/gpu/drm/xe/xe_device_types.h          |    4 +
> > > > > > >  drivers/gpu/drm/xe/xe_gt_types.h              |    4 +
> > > > > > >  drivers/gpu/drm/xe/xe_guc_pc.c                |   57 +
> > > > > > >  drivers/gpu/drm/xe/xe_guc_pc.h                |    3 +
> > > > > > >  drivers/gpu/drm/xe/xe_hw_engine_types.h       |    2 +
> > > > > > >  drivers/gpu/drm/xe/xe_lrc.c                   |   11 +-
> > > > > > >  drivers/gpu/drm/xe/xe_lrc.h                   |    1 +
> > > > > > >  drivers/gpu/drm/xe/xe_module.c                |    6 +
> > > > > > >  drivers/gpu/drm/xe/xe_oa.c                    | 2370 +++++++++++++++++
> > > > > > >  drivers/gpu/drm/xe/xe_oa.h                    |   27 +
> > > > > > >  drivers/gpu/drm/xe/xe_oa_types.h              |  232 ++
> > > > > > >  drivers/gpu/drm/xe/xe_perf.c                  |   67 +
> > > > > > >  drivers/gpu/drm/xe/xe_perf.h                  |   20 +
> > > > > > >  drivers/gpu/drm/xe/xe_query.c                 |   77 +
> > > > > > >  drivers/gpu/drm/xe/xe_reg_whitelist.c         |   24 +-
> > > > > > >  include/uapi/drm/xe_drm.h                     |  291 ++
> > > > > > >  22 files changed, 3321 insertions(+), 7 deletions(-)
> > > > > > >  create mode 100644 drivers/gpu/drm/xe/regs/xe_oa_regs.h
> > > > > > >  create mode 100644 drivers/gpu/drm/xe/xe_oa.c
> > > > > > >  create mode 100644 drivers/gpu/drm/xe/xe_oa.h
> > > > > > >  create mode 100644 drivers/gpu/drm/xe/xe_oa_types.h
> > > > > > >  create mode 100644 drivers/gpu/drm/xe/xe_perf.c
> > > > > > >  create mode 100644 drivers/gpu/drm/xe/xe_perf.h
> > > > > > > 
> > > > > > 



More information about the Intel-xe mailing list