Intel-XE Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/7] drm/xe: Per client usage
@ 2024-04-16  3:04 Lucas De Marchi
  2024-04-16  3:04 ` [PATCH 1/7] drm/xe/lrc: Add helper to capture context timestamp Lucas De Marchi
                   ` (15 more replies)
  0 siblings, 16 replies; 46+ messages in thread
From: Lucas De Marchi @ 2024-04-16  3:04 UTC (permalink / raw)
  To: intel-xe; +Cc: Umesh Nerlige Ramappa, Tvrtko Ursulin, Lucas De Marchi

Add per-client usage statistics to xe. This ports xe to use the common
method in drm to export the usage to userspace per client (where 1
client == 1 drm fd open).

However insted of using the current format, this creates a new one with
the unit "ticks". The intention here is not to mix the GPU clock domain
with the CPU clock. It allows to cover a few more use cases without
extra complications.

Last patch was a quick implemenation of a gputop-like tool in python.
I ended doing it to cross check the gputop implementation. I's not
really meant to be applied here.

I tested this on DG2 and TGL with kmscube (console-only) and vkcube
(in a gnome session), but it would be good to soak this under more
tests. The biggest goal for this patch series right now is to get
consensus on the new UAPI.

TODO: Add documentation on top with the new interface.

Test-with: https://lore.kernel.org/igt-dev/20240405060056.59379-1-lucas.demarchi@intel.com/

Lucas De Marchi (5):
  drm/xe: Promote xe_hw_engine_class_to_str()
  drm/xe: Add XE_ENGINE_CLASS_OTHER to str conversion
  drm/xe: Add helper to capture engine timestamp
  drm/xe/client: Print runtime to fdinfo
  HACK: simple gputop-like impl in python

Umesh Nerlige Ramappa (2):
  drm/xe/lrc: Add helper to capture context timestamp
  drm/xe: Add helper to capture context runtime

 drivers/gpu/drm/xe/regs/xe_lrc_layout.h       |   1 +
 drivers/gpu/drm/xe/xe_device_types.h          |   9 ++
 drivers/gpu/drm/xe/xe_drm_client.c            |  81 ++++++++++++-
 drivers/gpu/drm/xe/xe_exec_queue.c            |  37 ++++++
 drivers/gpu/drm/xe/xe_exec_queue.h            |   1 +
 drivers/gpu/drm/xe/xe_hw_engine.c             |  29 +++++
 drivers/gpu/drm/xe/xe_hw_engine.h             |   4 +
 drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.c |  18 ---
 drivers/gpu/drm/xe/xe_lrc.c                   |  11 ++
 drivers/gpu/drm/xe/xe_lrc.h                   |   2 +
 drivers/gpu/drm/xe/xe_lrc_types.h             |   3 +
 drivers/gpu/drm/xe/xe_sched_job.c             |   2 +
 pyfdinfo                                      | 113 ++++++++++++++++++
 13 files changed, 292 insertions(+), 19 deletions(-)
 create mode 100755 pyfdinfo

-- 
2.43.0


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

end of thread, other threads:[~2024-04-24  0:40 UTC | newest]

Thread overview: 46+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-04-16  3:04 [PATCH 0/7] drm/xe: Per client usage Lucas De Marchi
2024-04-16  3:04 ` [PATCH 1/7] drm/xe/lrc: Add helper to capture context timestamp Lucas De Marchi
2024-04-16  3:04 ` [PATCH 2/7] drm/xe: Add helper to capture context runtime Lucas De Marchi
2024-04-16  5:26   ` Vivekanandan, Balasubramani
2024-04-16 13:42     ` Lucas De Marchi
2024-04-16 15:45       ` Vivekanandan, Balasubramani
2024-04-16 15:53         ` Lucas De Marchi
2024-04-16  3:04 ` [PATCH 3/7] drm/xe: Promote xe_hw_engine_class_to_str() Lucas De Marchi
2024-04-16  9:36   ` Nirmoy Das
2024-04-19 18:36     ` Zeng, Oak
2024-04-16  3:04 ` [PATCH 4/7] drm/xe: Add XE_ENGINE_CLASS_OTHER to str conversion Lucas De Marchi
2024-04-16  9:37   ` Nirmoy Das
2024-04-16  3:04 ` [PATCH 5/7] drm/xe: Add helper to capture engine timestamp Lucas De Marchi
2024-04-16 22:56   ` Umesh Nerlige Ramappa
2024-04-17  3:14     ` Lucas De Marchi
2024-04-18 18:24       ` Umesh Nerlige Ramappa
2024-04-16  3:04 ` [PATCH 6/7] drm/xe/client: Print runtime to fdinfo Lucas De Marchi
2024-04-16 23:20   ` Umesh Nerlige Ramappa
2024-04-17  3:11     ` Lucas De Marchi
2024-04-18 23:12       ` Umesh Nerlige Ramappa
2024-04-19 13:25         ` Lucas De Marchi
2024-04-16  3:04 ` [PATCH 7/7] HACK: simple gputop-like impl in python Lucas De Marchi
2024-04-16  3:17 ` ✓ CI.Patch_applied: success for drm/xe: Per client usage Patchwork
2024-04-16  3:17 ` ✗ CI.checkpatch: warning " Patchwork
2024-04-16  3:18 ` ✓ CI.KUnit: success " Patchwork
2024-04-16  3:30 ` ✓ CI.Build: " Patchwork
2024-04-16  3:32 ` ✓ CI.Hooks: " Patchwork
2024-04-16  3:34 ` ✓ CI.checksparse: " Patchwork
2024-04-16  3:59 ` ✗ CI.BAT: failure " Patchwork
2024-04-16  8:37 ` [PATCH 0/7] " Tvrtko Ursulin
2024-04-16 13:30   ` Lucas De Marchi
2024-04-16 13:51     ` Lucas De Marchi
2024-04-16 14:22       ` Tvrtko Ursulin
2024-04-16 18:29         ` Lucas De Marchi
2024-04-17  8:51           ` Tvrtko Ursulin
2024-04-17 19:05             ` Lucas De Marchi
2024-04-17 20:35               ` Umesh Nerlige Ramappa
2024-04-17 23:19                 ` Lucas De Marchi
2024-04-18  8:09                   ` Tvrtko Ursulin
2024-04-19 10:44                   ` Tvrtko Ursulin
2024-04-19 23:51                     ` Umesh Nerlige Ramappa
2024-04-22 10:40                       ` Tvrtko Ursulin
2024-04-22 17:17                         ` Umesh Nerlige Ramappa
2024-04-23  8:44                           ` Tvrtko Ursulin
2024-04-24  0:40                             ` Lucas De Marchi
2024-04-16 22:12 ` ✗ CI.FULL: failure for " Patchwork

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