Intel-XE Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [RFC PATCH 0/1] Add support for EU stall sampling
@ 2024-06-30  9:28 Harish Chegondi
  2024-06-30  9:28 ` [RFC PATCH 1/1] drm/xe/eustall: " Harish Chegondi
                   ` (8 more replies)
  0 siblings, 9 replies; 10+ messages in thread
From: Harish Chegondi @ 2024-06-30  9:28 UTC (permalink / raw)
  To: intel-xe
  Cc: ashutosh.dixit, felix.j.degrood, james.ausmus, lucas.demarchi,
	Harish Chegondi

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


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

end of thread, other threads:[~2024-06-30 11:13 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-06-30  9:28 [RFC PATCH 0/1] Add support for EU stall sampling Harish Chegondi
2024-06-30  9:28 ` [RFC PATCH 1/1] drm/xe/eustall: " 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

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