[PATCH 0/3] drm/lima: expose usage statistics via fdinfo

From: Erico Nunes
Date: Sun Mar 12 2023 - 19:31:55 EST


Expose lima gp and pp usage stats through fdinfo, following
Documentation/gpu/drm-usage-stats.rst.
Borrowed from these previous implementations:

"df622729ddbf drm/scheduler: track GPU active time per entity" added
usage time accounting to drm scheduler, which is where the data used
here comes from.

Then the main implementation is based on these etnaviv commits:
"d306788b6e1b drm/etnaviv: allocate unique ID per drm_file" and
"97804a133c68 drm/etnaviv: export client GPU usage statistics via
fdinfo"

Also "874442541133 drm/amdgpu: Add show_fdinfo() interface" since lima
has a context manager very similar to amdgpu and all contexts created
(and released) at the ctx_mgr level need to be accounted for.

Tested with the generic "gputop" tool currently available as patches to
igt, a sample run with this patchset looks like this:

DRM minor 128
PID NAME gp pp
4322 glmark2-es2-way |█████▊ ||██████████████████ |
3561 weston |▎ ||███▌ |
4159 Xwayland |▏ ||▉ |
4154 glxgears |▏ ||▎ |
3661 firefox |▏ ||▏ |


Erico Nunes (3):
drm/lima: add usage counting method to ctx_mgr
drm/lima: allocate unique id per drm_file
drm/lima: add show_fdinfo for drm usage stats

drivers/gpu/drm/lima/lima_ctx.c | 30 ++++++++++++++++++++-
drivers/gpu/drm/lima/lima_ctx.h | 3 +++
drivers/gpu/drm/lima/lima_device.h | 3 +++
drivers/gpu/drm/lima/lima_drv.c | 43 +++++++++++++++++++++++++++++-
drivers/gpu/drm/lima/lima_drv.h | 1 +
5 files changed, 78 insertions(+), 2 deletions(-)

--
2.39.2