Intel-XE Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Harish Chegondi <harish.chegondi@intel.com>
To: intel-xe@lists.freedesktop.org
Cc: ashutosh.dixit@intel.com, felix.j.degrood@intel.com,
	james.ausmus@intel.com, lucas.demarchi@intel.com,
	Harish Chegondi <harish.chegondi@intel.com>
Subject: [RFC PATCH 0/1] Add support for EU stall sampling
Date: Sun, 30 Jun 2024 02:28:44 -0700	[thread overview]
Message-ID: <cover.1719735354.git.harish.chegondi@intel.com> (raw)

The following patch adds support for EU stall sampling, a new hardware
feature first added in PVC and is being supported in XE2 and later
architecture GPUs. This feature would enable capturing of EU stall
data which include the IP address of the instruction stalled and
various stall reason counts. More details are explained in the patch
commit message.

I am posting this patch as an RFC to get early feedback in the uAPI
while support for this feature is being added into Mesa. A new test
in the IGT repo: https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
is also under development to test this feature in the driver. This
patch has undergone basic testing with the new IGT test that is under
development.

The EU stall data from the driver include a header with additional
information about the data that follows the header. The header
includes flags one of which indicate if data has been dropped has
been dropped by the hardware due to buffer being full. While read
returns the total bytes read, any data dropped by the hardware will
be indicated in the flags. One feedback received so far is to make
read return an error when data has been dropped by the hardware
instead of setting a flag in the header. One suggestion received
is to consider two FDs per EU stall data stream with one fd to read
data and other fd to pass any errors. please comment on this idea
that's not represented in the code

Thank You.

Harish Chegondi (1):
  drm/xe/eustall: Add support for EU stall sampling

 drivers/gpu/drm/xe/Makefile                |    1 +
 drivers/gpu/drm/xe/regs/xe_eu_stall_regs.h |   33 +
 drivers/gpu/drm/xe/xe_eustall_cntr.c       | 1006 ++++++++++++++++++++
 drivers/gpu/drm/xe/xe_eustall_cntr.h       |   62 ++
 drivers/gpu/drm/xe/xe_gt.c                 |    3 +
 drivers/gpu/drm/xe/xe_gt_topology.c        |    9 +
 drivers/gpu/drm/xe/xe_gt_topology.h        |    3 +
 drivers/gpu/drm/xe/xe_gt_types.h           |    4 +
 drivers/gpu/drm/xe/xe_perf.c               |   15 +
 drivers/gpu/drm/xe/xe_trace.h              |   35 +
 include/uapi/drm/xe_drm.h                  |   77 ++
 11 files changed, 1248 insertions(+)
 create mode 100644 drivers/gpu/drm/xe/regs/xe_eu_stall_regs.h
 create mode 100644 drivers/gpu/drm/xe/xe_eustall_cntr.c
 create mode 100644 drivers/gpu/drm/xe/xe_eustall_cntr.h

-- 
2.45.1


             reply	other threads:[~2024-06-30  9:28 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-06-30  9:28 Harish Chegondi [this message]
2024-06-30  9:28 ` [RFC PATCH 1/1] drm/xe/eustall: Add support for EU stall sampling Harish Chegondi
2024-06-30  9:33 ` ✓ CI.Patch_applied: success for " Patchwork
2024-06-30  9:33 ` ✗ CI.checkpatch: warning " Patchwork
2024-06-30  9:34 ` ✓ CI.KUnit: success " Patchwork
2024-06-30  9:46 ` ✓ CI.Build: " Patchwork
2024-06-30  9:48 ` ✗ CI.Hooks: failure " Patchwork
2024-06-30  9:50 ` ✓ CI.checksparse: success " Patchwork
2024-06-30 10:12 ` ✓ CI.BAT: " Patchwork
2024-06-30 11:13 ` ✗ CI.FULL: failure " Patchwork

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=cover.1719735354.git.harish.chegondi@intel.com \
    --to=harish.chegondi@intel.com \
    --cc=ashutosh.dixit@intel.com \
    --cc=felix.j.degrood@intel.com \
    --cc=intel-xe@lists.freedesktop.org \
    --cc=james.ausmus@intel.com \
    --cc=lucas.demarchi@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox