From: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
To: "Kamil Konieczny" <kamil.konieczny@linux.intel.com>,
igt-dev@lists.freedesktop.org, intel-gfx@lists.freedesktop.org,
"Tvrtko Ursulin" <tvrtko.ursulin@intel.com>,
"Petri Latvala" <petri.latvala@intel.com>,
"Zbigniew Kempczyński" <zbigniew.kempczynski@intel.com>
Subject: Re: [igt-dev] [Intel-gfx] [PATCH i-g-t 0/8] Vendor agnostic gputop
Date: Fri, 27 Jan 2023 13:41:20 +0000 [thread overview]
Message-ID: <10880dfa-f53b-0224-c339-fd3d9c867ecd@linux.intel.com> (raw)
In-Reply-To: <20230126170209.5a5dqpqktal6jrjc@kamilkon-desk1>
On 26/01/2023 17:02, Kamil Konieczny wrote:
> Hi,
>
> please rebase and resend, also please change commit subject to start
> with lib: or lib/[name of lib changed]: rest od commit description
Series should still apply as is so I don't think there is need to
re-send. It will only conflict if I get to merge the "Assorted
intel_gpu_top improvements" series first, in which case I can resend.
> 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
Again, if you agree there is no need to spam the list with a re-send
yet, review can continue against this version, and I will note to change
the above patch prefixes while doing the other changes the review is
bound to trigger.
Regards,
Tvrtko
>
> +Cc Petri and Zbyszek
>
> Regards,
> Kamil
>
> On 2022-11-11 at 15:58:36 +0000, Tvrtko Ursulin wrote:
>> From: Tvrtko Ursulin <tvrtko.ursulin@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
>>
prev parent reply other threads:[~2023-01-27 13:41 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-11-11 15:58 [igt-dev] [PATCH i-g-t 0/8] Vendor agnostic gputop Tvrtko Ursulin
2022-11-11 15:58 ` [igt-dev] [PATCH i-g-t 1/8] lib: Extract igt_drm_clients from intel_gpu_top Tvrtko Ursulin
2022-11-11 15:58 ` [igt-dev] [PATCH i-g-t 2/8] libdrmfdinfo: Allow specifying custom engine map Tvrtko Ursulin
2022-11-11 15:58 ` [igt-dev] [PATCH i-g-t 3/8] libdrmclients: Record client drm minor Tvrtko Ursulin
2022-11-11 15:58 ` [igt-dev] [PATCH i-g-t 4/8] libdrmclient: Support multiple DRM cards Tvrtko Ursulin
2022-11-11 15:58 ` [igt-dev] [PATCH i-g-t 5/8] libdrmfdinfo: Track largest engine index Tvrtko Ursulin
2022-11-11 15:58 ` [igt-dev] [PATCH i-g-t 6/8] libdrmclient/intel_gpu_top: Decouple hardcoded engine assumptions Tvrtko Ursulin
2022-11-11 15:58 ` [igt-dev] [PATCH i-g-t 7/8] libdrmclient: Enforce client status sort order in the library Tvrtko Ursulin
2022-11-11 15:58 ` [igt-dev] [PATCH i-g-t 8/8] gputop: Basic vendor agnostic GPU top tool Tvrtko Ursulin
2022-11-16 13:43 ` Philipp Zabel
2022-11-11 17:22 ` [igt-dev] ✓ Fi.CI.BAT: success for Vendor agnostic gputop (rev4) Patchwork
2022-11-12 10:19 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
2023-01-26 17:02 ` [igt-dev] [Intel-gfx] [PATCH i-g-t 0/8] Vendor agnostic gputop Kamil Konieczny
2023-01-27 13:41 ` Tvrtko Ursulin [this message]
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=10880dfa-f53b-0224-c339-fd3d9c867ecd@linux.intel.com \
--to=tvrtko.ursulin@linux.intel.com \
--cc=igt-dev@lists.freedesktop.org \
--cc=intel-gfx@lists.freedesktop.org \
--cc=kamil.konieczny@linux.intel.com \
--cc=petri.latvala@intel.com \
--cc=tvrtko.ursulin@intel.com \
--cc=zbigniew.kempczynski@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