From: Tvrtko Ursulin <tursulin@ursulin.net>
To: Intel-gfx@lists.freedesktop.org
Subject: [PATCH v5 0/7] Queued/runnable/running engine stats
Date: Thu, 5 Apr 2018 13:39:16 +0100 [thread overview]
Message-ID: <20180405123923.22671-1-tvrtko.ursulin@linux.intel.com> (raw)
From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Per-engine queue depths are an interesting metric for analyzing the system load
and also for users who wish to use it to load balance their submissions based
on it.
In this version I have split the metrics into three separate counters:
1. QUEUED - From execbuf time to request being runnable - runnable meaning until
dependencies have been resolved and fences signaled.
2. RUNNABLE - From runnable to running on the GPU.
3. RUNNING - Running on the GPU.
When inspected with perf stat the output looks roughly like this:
# time counts unit events
201.160490145 0.01 i915/rcs0-queued/
201.160490145 19.13 i915/rcs0-runnable/
201.160490145 2.39 i915/rcs0-running/
The reported numbers are average queue depths for the last query period.
v2:
* Review feedback (see patch changelogs).
* Renamed the counters and re-ordered some patches.
v3:
* Review feedback and rebase.
v4:
* Addition of last patch in the series, which supports a customer requirement
to expose instantaneous queue values via the i915 query API.
v5:
* Fixed accounting under wedging.
* Error code ABI tweak.
Tvrtko Ursulin (7):
drm/i915/pmu: Fix enable count array size and bounds checking
drm/i915: Keep a count of requests waiting for a slot on GPU
drm/i915: Keep a count of requests submitted from userspace
drm/i915/pmu: Add queued counter
drm/i915/pmu: Add runnable counter
drm/i915/pmu: Add running counter
drm/i915: Engine queues query
drivers/gpu/drm/i915/i915_gem.c | 1 +
drivers/gpu/drm/i915/i915_pmu.c | 81 +++++++++++++++++++++++++++++----
drivers/gpu/drm/i915/i915_query.c | 43 +++++++++++++++++
drivers/gpu/drm/i915/i915_request.c | 10 ++++
drivers/gpu/drm/i915/intel_engine_cs.c | 6 ++-
drivers/gpu/drm/i915/intel_lrc.c | 1 +
drivers/gpu/drm/i915/intel_ringbuffer.h | 21 ++++++++-
include/uapi/drm/i915_drm.h | 45 +++++++++++++++++-
8 files changed, 195 insertions(+), 13 deletions(-)
--
2.14.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
next reply other threads:[~2018-04-05 12:39 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-04-05 12:39 Tvrtko Ursulin [this message]
2018-04-05 12:39 ` [PATCH 1/7] drm/i915/pmu: Fix enable count array size and bounds checking Tvrtko Ursulin
2018-04-05 12:39 ` [PATCH 2/7] drm/i915: Keep a count of requests waiting for a slot on GPU Tvrtko Ursulin
2018-04-06 20:16 ` Chris Wilson
2018-04-09 16:37 ` [PATCH v10 " Tvrtko Ursulin
2018-04-05 12:39 ` [PATCH 3/7] drm/i915: Keep a count of requests submitted from userspace Tvrtko Ursulin
2018-04-06 20:17 ` Chris Wilson
2018-04-09 9:11 ` Tvrtko Ursulin
2018-04-09 9:25 ` Chris Wilson
2018-04-09 10:17 ` Tvrtko Ursulin
2018-04-09 10:27 ` Chris Wilson
2018-04-09 10:29 ` Chris Wilson
2018-04-09 10:40 ` Tvrtko Ursulin
2018-04-09 10:51 ` Chris Wilson
2018-04-09 11:43 ` Tvrtko Ursulin
2018-04-09 11:54 ` Chris Wilson
2018-04-09 16:38 ` [PATCH v4 " Tvrtko Ursulin
2018-04-05 12:39 ` [PATCH 4/7] drm/i915/pmu: Add queued counter Tvrtko Ursulin
2018-04-06 20:19 ` Chris Wilson
2018-04-05 12:39 ` [PATCH 5/7] drm/i915/pmu: Add runnable counter Tvrtko Ursulin
2018-04-06 20:22 ` Chris Wilson
2018-04-05 12:39 ` [PATCH 6/7] drm/i915/pmu: Add running counter Tvrtko Ursulin
2018-04-06 20:24 ` Chris Wilson
2018-04-09 9:13 ` Tvrtko Ursulin
2018-04-05 12:39 ` [PATCH 7/7] drm/i915: Engine queues query Tvrtko Ursulin
2018-04-05 13:05 ` Lionel Landwerlin
2018-04-06 20:25 ` Chris Wilson
2018-04-09 16:38 ` [PATCH v3 " Tvrtko Ursulin
2018-04-05 13:49 ` ✓ Fi.CI.BAT: success for Queued/runnable/running engine stats (rev4) Patchwork
2018-04-05 16:08 ` ✗ Fi.CI.IGT: failure " Patchwork
2018-04-09 17:12 ` ✗ Fi.CI.BAT: failure for Queued/runnable/running engine stats (rev7) Patchwork
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=20180405123923.22671-1-tvrtko.ursulin@linux.intel.com \
--to=tursulin@ursulin.net \
--cc=Intel-gfx@lists.freedesktop.org \
/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.