From: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
To: Riana Tauro <riana.tauro@intel.com>, intel-xe@lists.freedesktop.org
Subject: Re: [PATCH v2 0/8] Engine Busyness
Date: Thu, 7 Dec 2023 14:45:47 +0000 [thread overview]
Message-ID: <4c5c2902-9503-465e-8a59-d17d75d8781f@linux.intel.com> (raw)
In-Reply-To: <20231207125802.3730165-1-riana.tauro@intel.com>
Hi,
On 07/12/2023 12:57, Riana Tauro wrote:
> GuC provides engine busyness ticks as a 64 bit counter which count
> as clock ticks. These counters are maintained in a
> shared memory buffer and internally updated on a continuous basis.
>
> GuC also provides a periodically total active ticks that GT has been
> active for. This counter is exposed to the user such that busyness can
> be calculated as a percentage using
>
> busyness % = (engine active ticks/total active ticks) * 100.
I think I've asked this before but don't remember it was clarified -
what are the semantics of "active" with total active ticks? In other
words considering activity timelines like:
1)
0 1s
rcs0 |xxxxx-----|
bcs0 |-----xxxxx|
2)
0 1s
rcs0 |xxxxx-----|
bcs0 |xxxxx-----|
Assuming 1s sampling, would the above formula correctly say 50% for both
engines in both cases?
I am also curious if there are plans to add support to intel_gpu_top in
which case please copy me on the required refactorings.
Regards,
Tvrtko
> This can be listed as
>
> sudo ./perf list
> xe_0000_03_00.0/total-active-ticks-gt0/ [Kernel PMU event]
> xe_0000_03_00.0/bcs0-busy-ticks-gt0/ [Kernel PMU event]
> xe_0000_03_00.0/ccs0-busy-ticks-gt0/ [Kernel PMU event]
> xe_0000_03_00.0/rcs0-busy-ticks-gt0/ [Kernel PMU event]
> xe_0000_03_00.0/vcs0-busy-ticks-gt0/ [Kernel PMU event]
> xe_0000_03_00.0/vecs0-busy-ticks-gt0/ [Kernel PMU event]
>
> and can be read as
>
> sudo ./perf stat -e xe_0000_03_00.0/bcs0-busy-ticks-gt0/,xe_0000_03_00.0/total-active-ticks-gt0/ -I 1000
>
> v2: rebase
> fix review comments
>
> Riana Tauro (8):
> RFC drm/xe: Move user engine class mappings to functions
> RFC drm/xe/guc: Add interface for engine busyness ticks
> RFC drm/xe/guc: Expose engine busyness only for supported GuC version
> RFC drm/xe/guc: Add PMU counter for total active ticks
> RFC drm/xe/uapi: Add configs for Engine busyness
> RFC drm/xe/pmu: Add PMU counters for engine busy ticks
> RFC drm/xe/guc: Dynamically enable/disable engine busyness stats
> RFC drm/xe/guc: Handle runtime suspend issues for engine busyness
>
> drivers/gpu/drm/xe/Makefile | 1 +
> drivers/gpu/drm/xe/abi/guc_actions_abi.h | 1 +
> drivers/gpu/drm/xe/xe_exec_queue.c | 19 +-
> drivers/gpu/drm/xe/xe_gt.c | 26 ++
> drivers/gpu/drm/xe/xe_gt.h | 3 +
> drivers/gpu/drm/xe/xe_guc.c | 7 +
> drivers/gpu/drm/xe/xe_guc_engine_busyness.c | 367 ++++++++++++++++++++
> drivers/gpu/drm/xe/xe_guc_engine_busyness.h | 21 ++
> drivers/gpu/drm/xe/xe_guc_fwif.h | 15 +
> drivers/gpu/drm/xe/xe_guc_types.h | 25 ++
> drivers/gpu/drm/xe/xe_hw_engine.c | 50 +++
> drivers/gpu/drm/xe/xe_hw_engine.h | 3 +
> drivers/gpu/drm/xe/xe_pmu.c | 189 +++++++++-
> drivers/gpu/drm/xe/xe_pmu.h | 2 +
> drivers/gpu/drm/xe/xe_query.c | 23 +-
> include/uapi/drm/xe_drm.h | 24 ++
> 16 files changed, 726 insertions(+), 50 deletions(-)
> create mode 100644 drivers/gpu/drm/xe/xe_guc_engine_busyness.c
> create mode 100644 drivers/gpu/drm/xe/xe_guc_engine_busyness.h
>
next prev parent reply other threads:[~2023-12-07 14:45 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-12-07 12:57 [PATCH v2 0/8] Engine Busyness Riana Tauro
2023-12-07 12:53 ` ✓ CI.Patch_applied: success for Engine Busyness (rev2) Patchwork
2023-12-07 12:53 ` ✗ CI.checkpatch: warning " Patchwork
2023-12-07 12:54 ` ✓ CI.KUnit: success " Patchwork
2023-12-07 12:57 ` [PATCH v2 1/8] RFC drm/xe: Move user engine class mappings to functions Riana Tauro
2023-12-07 12:57 ` [PATCH v2 2/8] RFC drm/xe/guc: Add interface for engine busyness ticks Riana Tauro
2023-12-21 0:49 ` Umesh Nerlige Ramappa
2023-12-21 5:14 ` Riana Tauro
2023-12-07 12:57 ` [PATCH v2 3/8] RFC drm/xe/guc: Expose engine busyness only for supported GuC version Riana Tauro
2023-12-21 0:52 ` Umesh Nerlige Ramappa
2023-12-21 5:17 ` Riana Tauro
2023-12-07 12:57 ` [PATCH v2 4/8] RFC drm/xe/guc: Add PMU counter for total active ticks Riana Tauro
2023-12-07 12:57 ` [PATCH v2 5/8] RFC drm/xe/uapi: Add configs for Engine busyness Riana Tauro
2023-12-21 2:29 ` Umesh Nerlige Ramappa
2023-12-21 5:26 ` Riana Tauro
2023-12-07 12:58 ` [PATCH v2 6/8] RFC drm/xe/pmu: Add PMU counters for engine busy ticks Riana Tauro
2023-12-07 12:58 ` [PATCH v2 7/8] RFC drm/xe/guc: Dynamically enable/disable engine busyness stats Riana Tauro
2023-12-07 12:58 ` [PATCH v2 8/8] RFC drm/xe/guc: Handle runtime suspend issues for engine busyness Riana Tauro
2023-12-07 13:01 ` ✓ CI.Build: success for Engine Busyness (rev2) Patchwork
2023-12-07 13:02 ` ✓ CI.Hooks: " Patchwork
2023-12-07 13:03 ` ✓ CI.checksparse: " Patchwork
2023-12-07 13:39 ` ✗ CI.BAT: failure " Patchwork
2023-12-07 14:45 ` Tvrtko Ursulin [this message]
2023-12-14 1:56 ` [PATCH v2 0/8] Engine Busyness Umesh Nerlige Ramappa
2023-12-14 8:06 ` Tvrtko Ursulin
2023-12-20 5:36 ` Umesh Nerlige Ramappa
2023-12-20 9:00 ` Tvrtko Ursulin
2023-12-20 23:58 ` Umesh Nerlige Ramappa
2023-12-21 9:36 ` Tvrtko Ursulin
2023-12-21 13:17 ` Nerlige Ramappa, Umesh
2023-12-22 9:41 ` Tvrtko Ursulin
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=4c5c2902-9503-465e-8a59-d17d75d8781f@linux.intel.com \
--to=tvrtko.ursulin@linux.intel.com \
--cc=intel-xe@lists.freedesktop.org \
--cc=riana.tauro@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 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.