From: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
To: Chris Wilson <chris@chris-wilson.co.uk>,
Tvrtko Ursulin <tursulin@ursulin.net>,
Intel-gfx@lists.freedesktop.org
Subject: Re: [RFC v2 0/6] Queued/runnable/running engine stats
Date: Wed, 24 Jan 2018 18:01:14 +0000 [thread overview]
Message-ID: <bc007136-c869-2ded-3711-428c46c7c054@linux.intel.com> (raw)
In-Reply-To: <151664717451.21091.13020184342211909605@mail.alporthouse.com>
On 22/01/2018 18:52, Chris Wilson wrote:
> Quoting Tvrtko Ursulin (2018-01-22 18:43:52)
>> 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.
>>
>> Having split out metrics should be more flexible for all users, and it is still
>> possible to fetch an atomic snapshot of all using the perf groups for those
>> wanting to combine them.
>>
>> For users wanting instantanous numbers instead of averaged, we could potentially
>> expose them using the query API Lionel is working on.
>> (https://patchwork.freedesktop.org/series/36622/)
>>
>> For instance a query packet could look like:
>>
>> #define DRM_I915_QUERY_ENGINE_QUEUES 0x04
>>
>> struct drm_i915_query_engine_queues {
>> __u8 class;
>> __u8 instance
>>
>> __u8 pad[2];
>>
>> __u32 queued;
>> __u32 runnable;
>> __u32 running;
>> };
>>
>> I also have patches to expose this via intel-gpu-top, using the perf API.
>
> Can you stick a ewma loadavg just after the hostname in intel-gpu-overlay,
> pretty please? :)
Sure, just one period and all three counters aggregated?
Regards,
Tvrtko
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2018-01-24 18:01 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-01-22 18:43 [RFC v2 0/6] Queued/runnable/running engine stats Tvrtko Ursulin
2018-01-22 18:43 ` [RFC 1/6] drm/i915/pmu: Fix enable count array size and bounds checking Tvrtko Ursulin
2018-01-22 18:43 ` [RFC 2/6] drm/i915: Keep a count of requests waiting for a slot on GPU Tvrtko Ursulin
2018-01-22 18:48 ` Chris Wilson
2018-01-22 18:43 ` [RFC 3/6] drm/i915: Keep a count of requests submitted from userspace Tvrtko Ursulin
2018-01-22 18:43 ` [RFC 4/6] drm/i915/pmu: Add queued counter Tvrtko Ursulin
2018-01-22 18:56 ` Chris Wilson
2018-01-24 18:01 ` Tvrtko Ursulin
2018-01-22 18:43 ` [RFC 5/6] drm/i915/pmu: Add runnable counter Tvrtko Ursulin
2018-01-22 18:43 ` [RFC 6/6] drm/i915/pmu: Add running counter Tvrtko Ursulin
2018-01-22 18:52 ` [RFC v2 0/6] Queued/runnable/running engine stats Chris Wilson
2018-01-24 18:01 ` Tvrtko Ursulin [this message]
2018-01-24 18:07 ` Chris Wilson
2018-01-22 19:21 ` ✓ Fi.CI.BAT: success for " Patchwork
2018-01-23 5:11 ` ✗ Fi.CI.IGT: failure " 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=bc007136-c869-2ded-3711-428c46c7c054@linux.intel.com \
--to=tvrtko.ursulin@linux.intel.com \
--cc=Intel-gfx@lists.freedesktop.org \
--cc=chris@chris-wilson.co.uk \
--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.