All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Dixit, Ashutosh" <ashutosh.dixit@intel.com>
To: intel-xe@lists.freedesktop.org
Cc: Robert Krzemien <robert.krzemien@intel.com>,
	Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Subject: Re: [Intel-xe] [PATCH 00/10] Add OA functionality to Xe
Date: Mon, 07 Aug 2023 19:41:04 -0700	[thread overview]
Message-ID: <87jzu6xnlr.wl-ashutosh.dixit@intel.com> (raw)
In-Reply-To: <20230808013159.38811-1-ashutosh.dixit@intel.com>

On Mon, 07 Aug 2023 18:31:49 -0700, Ashutosh Dixit wrote:
>

Hi Umesh/Lionel,

> This patchset is the initial port of i915 perf/OA functionality to the Xe
> driver. It has been tested against the following IGT patch:
>
> https://patchwork.freedesktop.org/series/121082/
>
> The following features in i915 have not been ported and will be added (as
> new patches) if/as they are needed:
>
> * Inline batch submission on stream exec_queue/hw_engine
> * NOA wait

About these two in the "not-yet-ported" feature list for Xe: In
i915 when a stream engine is specified, requests are submitted "inline" to
that engine whenever the OA stream is opened or reconfigured. This feature
is at present not ported to Xe (see xe_oa_submit_bb()).

I have a couple of questions about this "inline submission":

* Is inline submission a hard requirement? That is, in Xe can UMD's say
  (completely outside OA uapi) fence till a segment of the workload
  completes, then open/reconfigure the OA stream and then continue? If
  UMD's are able to do this we don't need inline submission in Xe. If UMD's
  cannot do this please explain why not.

* If inline submission is indeed required, can we do away with NOA wait (as
  implemented in daed3e44396d ("drm/i915/perf: implement active wait for
  noa configurations")) or implement NOA wait differently in Xe? E.g. can
  we expose a fence in the OA uapi and UMD's would be required to wait on
  this fence/sync-object before continuing workload submissions after any
  OA stream open/reconfiguration.

The reason I am brining this up is because in i915 there are a couple of
scary bugs around this which are still unresolved. E.g.:

	https://gitlab.freedesktop.org/drm/intel/-/issues/8746
	https://gitlab.freedesktop.org/drm/intel/-/issues/8190

There is therefore reason to think if this functionality can be done
differently in Xe (not to say these bugs will be carried over to Xe).

Thanks.
--
Ashutosh

> * GuC ctx id (guc_sw_ctx_id)
> * CTX_R_PWR_CLK_STATE/GEN8_R_PWR_CLK_STATE
> * hold_preemption (DRM_XE_OA_PROP_HOLD_PREEMPTION)
> * sseu_config (DRM_XE_OA_PROP_GLOBAL_SSEU)
> * Override gucrc (override_gucrc_mode)
> * MTL bios_c6_setup
> * ratelimits
> * compat ioctl
>
> I am providing the following additional HAX patch (not part of this series)
> to help review these patches:
>
> https://patchwork.freedesktop.org/patch/551683/?series=120100&rev=4
>
> The commit message in the above patch explains how it can be useful for
> reviewing this series.
>
> Test-with: 20230808010017.37819-1-ashutosh.dixit@intel.com
>
> v2: Fix build
> v3: Rebase, due to s/xe_engine/xe_exec_queue/
>
> Ashutosh Dixit (10):
>   drm/xe/oa: Introduce OA uapi
>   drm/xe/oa: Add OA types
>   drm/xe/oa: Add registers and GPU commands used by OA
>   drm/xe/oa: Module init/exit and probe/remove
>   drm/xe/oa: Add/remove config ioctl's
>   drm/xe/oa: Start implementing OA stream open ioctl
>   drm/xe/oa: OA stream initialization
>   drm/xe/oa: Expose OA stream fd
>   drm/xe/oa: Read file_operation
>   drm/xe/oa: Implement queries
>
>  drivers/gpu/drm/xe/Makefile               |    1 +
>  drivers/gpu/drm/xe/regs/xe_engine_regs.h  |    5 +
>  drivers/gpu/drm/xe/regs/xe_gpu_commands.h |   27 +
>  drivers/gpu/drm/xe/regs/xe_oa_regs.h      |  173 ++
>  drivers/gpu/drm/xe/xe_device.c            |   16 +
>  drivers/gpu/drm/xe/xe_device_types.h      |    4 +
>  drivers/gpu/drm/xe/xe_gt_types.h          |    4 +
>  drivers/gpu/drm/xe/xe_hw_engine_types.h   |    2 +
>  drivers/gpu/drm/xe/xe_module.c            |    5 +
>  drivers/gpu/drm/xe/xe_oa.c                | 2356 +++++++++++++++++++++
>  drivers/gpu/drm/xe/xe_oa.h                |   28 +
>  drivers/gpu/drm/xe/xe_oa_types.h          |  295 +++
>  drivers/gpu/drm/xe/xe_query.c             |    5 +-
>  include/uapi/drm/xe_drm.h                 |  257 ++-
>  14 files changed, 3176 insertions(+), 2 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
>
> --
> 2.41.0
>

  parent reply	other threads:[~2023-08-08  2:41 UTC|newest]

Thread overview: 58+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-08-08  1:31 [Intel-xe] [PATCH 00/10] Add OA functionality to Xe Ashutosh Dixit
2023-08-08  1:31 ` [Intel-xe] [PATCH 01/10] drm/xe/oa: Introduce OA uapi Ashutosh Dixit
2023-08-08 22:59   ` Umesh Nerlige Ramappa
2023-08-15 19:29     ` Dixit, Ashutosh
2023-08-16  2:14       ` Umesh Nerlige Ramappa
2023-08-21 16:48         ` Dixit, Ashutosh
2023-09-01  1:07           ` Dixit, Ashutosh
2023-08-15 22:03   ` Dixit, Ashutosh
2023-08-16  1:11     ` Umesh Nerlige Ramappa
2023-08-16  1:30       ` Dixit, Ashutosh
2023-08-16  2:21         ` Umesh Nerlige Ramappa
2023-08-16  3:43           ` Dixit, Ashutosh
2023-08-16 19:58             ` Umesh Nerlige Ramappa
2023-08-16 20:38               ` Dixit, Ashutosh
2023-08-16 20:58                 ` Dixit, Ashutosh
2023-08-21  4:48     ` Dixit, Ashutosh
2023-08-22  8:31   ` Francois Dugast
2023-08-31 19:55     ` Rodrigo Vivi
2023-08-31 20:12       ` Dixit, Ashutosh
2023-08-31 20:32         ` Rodrigo Vivi
2023-09-08  4:30       ` Dixit, Ashutosh
2023-08-08  1:31 ` [Intel-xe] [PATCH 02/10] drm/xe/oa: Add OA types Ashutosh Dixit
2023-08-08  1:31 ` [Intel-xe] [PATCH 03/10] drm/xe/oa: Add registers and GPU commands used by OA Ashutosh Dixit
2023-08-22 15:44   ` Umesh Nerlige Ramappa
2023-09-08  4:30     ` Dixit, Ashutosh
2023-08-08  1:31 ` [Intel-xe] [PATCH 04/10] drm/xe/oa: Module init/exit and probe/remove Ashutosh Dixit
2023-08-22 15:52   ` Umesh Nerlige Ramappa
2023-08-23 19:41     ` Umesh Nerlige Ramappa
2023-08-25  4:15       ` Dixit, Ashutosh
2023-08-08  1:31 ` [Intel-xe] [PATCH 05/10] drm/xe/oa: Add/remove config ioctl's Ashutosh Dixit
2023-08-08  1:31 ` [Intel-xe] [PATCH 06/10] drm/xe/oa: Start implementing OA stream open ioctl Ashutosh Dixit
2023-08-23 19:55   ` Umesh Nerlige Ramappa
2023-09-08  4:38     ` Dixit, Ashutosh
2023-08-08  1:31 ` [Intel-xe] [PATCH 07/10] drm/xe/oa: OA stream initialization Ashutosh Dixit
2023-08-08  1:31 ` [Intel-xe] [PATCH 08/10] drm/xe/oa: Expose OA stream fd Ashutosh Dixit
2023-08-08  1:31 ` [Intel-xe] [PATCH 09/10] drm/xe/oa: Read file_operation Ashutosh Dixit
2023-08-23 19:46   ` Umesh Nerlige Ramappa
2023-09-08  4:40     ` Dixit, Ashutosh
2023-08-08  1:31 ` [Intel-xe] [PATCH 10/10] drm/xe/oa: Implement queries Ashutosh Dixit
2023-08-22 15:55   ` Umesh Nerlige Ramappa
2023-08-08  2:04 ` [Intel-xe] ✓ CI.Patch_applied: success for Add OA functionality to Xe (rev3) Patchwork
2023-08-08  2:04 ` [Intel-xe] ✗ CI.checkpatch: warning " Patchwork
2023-08-08  2:05 ` [Intel-xe] ✓ CI.KUnit: success " Patchwork
2023-08-08  2:09 ` [Intel-xe] ✓ CI.Build: " Patchwork
2023-08-08  2:10 ` [Intel-xe] ✓ CI.Hooks: " Patchwork
2023-08-08  2:10 ` [Intel-xe] ✗ CI.checksparse: warning " Patchwork
2023-08-08  2:41 ` Dixit, Ashutosh [this message]
2023-09-01  7:55   ` [Intel-xe] [PATCH 00/10] Add OA functionality to Xe Lionel Landwerlin
2023-09-08  4:35     ` Dixit, Ashutosh
2023-08-08  2:45 ` [Intel-xe] ✗ CI.BAT: failure for Add OA functionality to Xe (rev3) Patchwork
2023-08-08  5:30 ` [Intel-xe] ✓ CI.Patch_applied: success for Add OA functionality to Xe (rev4) Patchwork
2023-08-08  5:30 ` [Intel-xe] ✗ CI.checkpatch: warning " Patchwork
2023-08-08  5:31 ` [Intel-xe] ✓ CI.KUnit: success " Patchwork
2023-08-08  5:35 ` [Intel-xe] ✓ CI.Build: " Patchwork
2023-08-08  5:35 ` [Intel-xe] ✓ CI.Hooks: " Patchwork
2023-08-08  5:36 ` [Intel-xe] ✗ CI.checksparse: warning " Patchwork
2023-08-08  6:10 ` [Intel-xe] ✗ CI.BAT: failure " Patchwork
  -- strict thread matches above, loose matches on Subject: below --
2023-07-21  0:29 [Intel-xe] [PATCH 00/10] Add OA functionality to Xe Ashutosh Dixit

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87jzu6xnlr.wl-ashutosh.dixit@intel.com \
    --to=ashutosh.dixit@intel.com \
    --cc=intel-xe@lists.freedesktop.org \
    --cc=lionel.g.landwerlin@intel.com \
    --cc=robert.krzemien@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.