From: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
To: Lucas De Marchi <lucas.demarchi@intel.com>
Cc: <igt-dev@lists.freedesktop.org>, Tvrtko Ursulin <tursulin@ursulin.net>
Subject: Re: [PATCH i-g-t v3 11/13] lib/igt_drm_fdinfo: Parse drm-total-cycles
Date: Wed, 8 May 2024 11:49:24 -0700 [thread overview]
Message-ID: <ZjvJNO5WgXJxT7un@orsosgc001> (raw)
In-Reply-To: <20240504064643.25863-12-lucas.demarchi@intel.com>
On Fri, May 03, 2024 at 11:46:41PM -0700, Lucas De Marchi wrote:
>Parse drm-total-cycles and annotate what are the possible engine
>utilization types that can be used. Currently there are 2 possible ways
>to calculate utilization:
>
>1) via drm-engine, that uses the time and derive the utilization by
> comparing to the CPU time
>2) via drm-cycles + drm-total-cycles, that uses the GPU time
>
>igt_drm_fdinfo just marks the presence of the keys, letting the caller
>decide which method to use.
>
>It is assumed that if any drm-engine, drm-cycles or drm-total-cycles is
>available, it's available for all engines with non-zero utilization.
>
>Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
lgtm,
Reviewed-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
Umesh
>---
> lib/igt_drm_fdinfo.c | 4 ++++
> lib/igt_drm_fdinfo.h | 3 +++
> 2 files changed, 7 insertions(+)
>
>diff --git a/lib/igt_drm_fdinfo.c b/lib/igt_drm_fdinfo.c
>index 9deeadd4e..f45d0440e 100644
>--- a/lib/igt_drm_fdinfo.c
>+++ b/lib/igt_drm_fdinfo.c
>@@ -265,6 +265,10 @@ __igt_parse_drm_fdinfo(int dir, const char *fd, struct drm_client_fdinfo *info,
> idx = parse_engine(l + keylen, info,
> name_map, map_entries, &val);
> UPDATE_ENGINE(idx, cycles, val, DRM_FDINFO_UTILIZATION_CYCLES);
>+ } else if (strstartswith(l, "drm-total-cycles-", &keylen)) {
>+ idx = parse_engine(l + keylen, info,
>+ name_map, map_entries, &val);
>+ UPDATE_ENGINE(idx, total_cycles, val, DRM_FDINFO_UTILIZATION_TOTAL_CYCLES);
> } else if (strstartswith(l, "drm-total-", &keylen)) {
> idx = parse_region(l + keylen, info,
> region_map, region_entries, &val);
>diff --git a/lib/igt_drm_fdinfo.h b/lib/igt_drm_fdinfo.h
>index ea90edd79..35f43305b 100644
>--- a/lib/igt_drm_fdinfo.h
>+++ b/lib/igt_drm_fdinfo.h
>@@ -44,6 +44,7 @@ struct drm_client_meminfo {
> enum drm_fdinfo_utilization {
> DRM_FDINFO_UTILIZATION_ENGINE_TIME = 1U << 0,
> DRM_FDINFO_UTILIZATION_CYCLES = 1U << 1,
>+ DRM_FDINFO_UTILIZATION_TOTAL_CYCLES = 1U << 2,
> };
>
> struct drm_client_fdinfo {
>@@ -63,6 +64,8 @@ struct drm_client_fdinfo {
> uint64_t engine_time[DRM_CLIENT_FDINFO_MAX_ENGINES];
> /* drm-cycles-<engine> values */
> uint64_t cycles[DRM_CLIENT_FDINFO_MAX_ENGINES];
>+ /* drm-total-cycles-<engine> values */
>+ uint64_t total_cycles[DRM_CLIENT_FDINFO_MAX_ENGINES];
>
> unsigned int num_regions;
> unsigned int last_region_index;
>--
>2.43.0
>
next prev parent reply other threads:[~2024-05-08 18:49 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-05-04 6:46 [PATCH i-g-t v3 00/12] gputop: Add support for xe Lucas De Marchi
2024-05-04 6:46 ` [PATCH i-g-t v3 01/13] lib/igt_drm_fdinfo: Extract ignore_space() Lucas De Marchi
2024-05-06 20:21 ` Umesh Nerlige Ramappa
2024-05-04 6:46 ` [PATCH i-g-t v3 02/13] lib/igt_drm_fdinfo: Allow any number of spaces before unit Lucas De Marchi
2024-05-06 20:28 ` Umesh Nerlige Ramappa
2024-05-06 20:32 ` Umesh Nerlige Ramappa
2024-05-06 20:38 ` Lucas De Marchi
2024-05-04 6:46 ` [PATCH i-g-t v3 03/13] fixup! " Lucas De Marchi
2024-05-06 20:33 ` Umesh Nerlige Ramappa
2024-05-04 6:46 ` [PATCH i-g-t v3 04/13] lib/igt_drm_fdinfo: Stop passing key twice Lucas De Marchi
2024-05-04 6:46 ` [PATCH i-g-t v3 05/13] lib/igt_drm_fdinfo: Remove prefix arg from parse functions Lucas De Marchi
2024-05-04 6:46 ` [PATCH i-g-t v3 06/13] lib/igt_drm_fdinfo: Parse drm-cycles Lucas De Marchi
2024-05-07 1:11 ` Umesh Nerlige Ramappa
2024-05-04 6:46 ` [PATCH i-g-t v3 07/13] lib/igt_drm_fdinfo: Start tracking available engine keys Lucas De Marchi
2024-05-07 1:14 ` Umesh Nerlige Ramappa
2024-05-04 6:46 ` [PATCH i-g-t v3 08/13] treewide: Rename engine busyness variables Lucas De Marchi
2024-05-08 18:45 ` Umesh Nerlige Ramappa
2024-05-21 13:47 ` Lucas De Marchi
2024-05-04 6:46 ` [PATCH i-g-t v3 09/13] lib/igt_drm_clients: Move engine fields to substruct Lucas De Marchi
2024-05-08 18:45 ` Umesh Nerlige Ramappa
2024-05-04 6:46 ` [PATCH i-g-t v3 10/13] lib/igt_drm_clients: Record drm-cycles Lucas De Marchi
2024-05-08 18:48 ` Umesh Nerlige Ramappa
2024-05-04 6:46 ` [PATCH i-g-t v3 11/13] lib/igt_drm_fdinfo: Parse drm-total-cycles Lucas De Marchi
2024-05-08 18:49 ` Umesh Nerlige Ramappa [this message]
2024-05-04 6:46 ` [PATCH i-g-t v3 12/13] lib/igt_drm_clients: Record total cycles Lucas De Marchi
2024-05-08 19:01 ` Umesh Nerlige Ramappa
2024-05-08 19:07 ` Umesh Nerlige Ramappa
2024-05-04 6:46 ` [PATCH i-g-t v3 13/13] gputop: Add support to drm-cycles/drm-total-cycles Lucas De Marchi
2024-05-08 19:11 ` Umesh Nerlige Ramappa
2024-05-04 7:31 ` ✓ Fi.CI.BAT: success for gputop: Add support for xe (rev4) Patchwork
2024-05-04 7:36 ` ✓ CI.xeBAT: " Patchwork
2024-05-04 8:33 ` ✗ CI.xeFULL: failure " Patchwork
2024-05-04 12:50 ` ✗ Fi.CI.IGT: " Patchwork
2024-05-06 10:37 ` [PATCH i-g-t v3 00/12] gputop: Add support for xe Tvrtko Ursulin
2024-05-06 20:40 ` Lucas De Marchi
2024-05-08 16:25 ` (subset) " Lucas De Marchi
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=ZjvJNO5WgXJxT7un@orsosgc001 \
--to=umesh.nerlige.ramappa@intel.com \
--cc=igt-dev@lists.freedesktop.org \
--cc=lucas.demarchi@intel.com \
--cc=tursulin@ursulin.net \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.