[igt-dev] [Intel-gfx] [PATCH i-g-t 0/8] Vendor agnostic gputop

Kamil Konieczny kamil.konieczny at linux.intel.com
Thu Jan 26 17:02:09 UTC 2023


Hi,

please rebase and resend, also please change commit subject to start
with lib: or lib/[name of lib changed]: rest od commit description

For example, in 3/8 instead of
libdrmclients: Record client drm minor
write:
lib/igt_drm_clients: Record client drm minor

If there are more lib changes, use "lib: " alone, for example
in your 2/8 patch,
libdrmfdinfo: Allow specifying custom engine map
write:
lib: Allow specifying custom engine map

+Cc Petri and Zbyszek

Regards,
Kamil

On 2022-11-11 at 15:58:36 +0000, Tvrtko Ursulin wrote:
> From: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
> 
> This is a pile of patches which implements a rudimentary vendor agnostic gputop
> tool based of the new DRM spec as documented in
> Documentation/gpu/drm-usage-stats.rst.
> 
> First part of the series is code refactoring which should be reasonably stable.
> I've tested it all while working on it both against intel_gpu_top and gputop.
> 
> Last patch is the actual tool itself. It works but it is rather rudimentary
> which is hopefully good enough for a start.
> 
> Fundamental difference between intel_gpu_top and gputop is that the former is
> centered around a single card and only shows processes belonging to it. Gputop
> on the other hand has an idea to show all processes with DRM file descriptors
> open and sort them into groups per card. It also makes no effort to provide
> sorting modes, well any interactivity, or any pretty names for GPUs or engines.
> 
> It looks like this:
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> DRM minor 0
>     PID               NAME    render       copy       video
>     3816          kwin_x11 |███▎      ||          ||          ||          |
>     3523              Xorg |▊         ||          ||          ||          |
>  1120449               mpv |          ||          ||▋         ||          |
>  1120529          glxgears |▋         ||          ||          ||          |
>  1120449               mpv |▍         ||          ||          ||          |
>     3860       plasmashell |▏         ||          ||          ||          |
>     4764           krunner |          ||          ||          ||          |
>   575206            chrome |          ||          ||          ||          |
>   833481           firefox |          ||          ||          ||          |
>   892924       thunderbird |          ||          ||          ||          |
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> 
> I did test it as well with two cards and confirmed that too works.
> 
> Rob Clark also tested it with a patch which exports the respective data from the
> msm driver and confirmed it works fine. Christian König tested it with in
> progress patches for amdgpu and that worked as well.
> 
> v2:
>  * Fixed SPDX headers and added a bunch of code comments/docs throughout.
> 
> Tvrtko Ursulin (8):
>   lib: Extract igt_drm_clients from intel_gpu_top
>   libdrmfdinfo: Allow specifying custom engine map
>   libdrmclients: Record client drm minor
>   libdrmclient: Support multiple DRM cards
>   libdrmfdinfo: Track largest engine index
>   libdrmclient/intel_gpu_top: Decouple hardcoded engine assumptions
>   libdrmclient: Enforce client status sort order in the library
>   gputop: Basic vendor agnostic GPU top tool
> 
>  lib/igt_drm_clients.c   | 503 +++++++++++++++++++++++++++++
>  lib/igt_drm_clients.h   |  87 ++++++
>  lib/igt_drm_fdinfo.c    |  50 ++-
>  lib/igt_drm_fdinfo.h    |  16 +-
>  lib/meson.build         |   8 +
>  tests/i915/drm_fdinfo.c |  19 +-
>  tools/gputop.c          | 260 +++++++++++++++
>  tools/intel_gpu_top.c   | 677 +++++++++++-----------------------------
>  tools/meson.build       |   7 +-
>  9 files changed, 1113 insertions(+), 514 deletions(-)
>  create mode 100644 lib/igt_drm_clients.c
>  create mode 100644 lib/igt_drm_clients.h
>  create mode 100644 tools/gputop.c
> 
> -- 
> 2.34.1
> 


More information about the igt-dev mailing list