Re: [PATCH 7/7] drm/i915: Expose client engine utilisation via fdinfo

Tvrtko Ursulin
2022-02-22T12:32:00Z

On 19/02/2022 00:51, Umesh Nerlige Ramappa wrote:
> On Thu, Jan 06, 2022 at 04:55:36PM +0000, Tvrtko Ursulin wrote:
>> From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
>>
>> Similar to AMD commit
>> 874442541133 ("drm/amdgpu: Add show_fdinfo() interface"), using the
>> infrastructure added in previous patches, we add basic client info
>> and GPU engine utilisation for i915.
>>
>> Example of the output:
>>
>>  pos:    0
>>  flags:  0100002
>>  mnt_id: 21
>>  drm-driver: i915
>>  drm-pdev:   0000:00:02.0
>>  drm-client-id:      7
>>  drm-engine-render:  9288864723 ns
>>  drm-engine-copy:    2035071108 ns
>>  drm-engine-video:   0 ns
>>  drm-engine-video-enhance:   0 ns
>>
>> v2:
>> * Update for removal of name and pid.
>>
>> v3:
>> * Use drm_driver.name.
>>
>> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
>> Cc: David M Nieto <David.Nieto@amd.com>
>> Cc: Christian König <christian.koenig@amd.com>
>> Cc: Daniel Vetter <daniel@ffwll.ch>
>> Cc: Chris Healy <cphealy@gmail.com>
>> Acked-by: Christian König <christian.koenig@amd.com>
>> ---
>> Documentation/gpu/drm-usage-stats.rst  |  6 +++
>> Documentation/gpu/i915.rst             | 27 ++++++++++
>> drivers/gpu/drm/i915/i915_driver.c     |  3 ++
>> drivers/gpu/drm/i915/i915_drm_client.c | 73 ++++++++++++++++++++++++++
>> drivers/gpu/drm/i915/i915_drm_client.h |  4 ++
>> 5 files changed, 113 insertions(+)
>>
>> diff --git a/Documentation/gpu/drm-usage-stats.rst
>> b/Documentation/gpu/drm-usage-stats.rst
>> index c669026be244..6952f8389d07 100644
>> --- a/Documentation/gpu/drm-usage-stats.rst
>> +++ b/Documentation/gpu/drm-usage-stats.rst
>> @@ -95,3 +95,9 @@ object belong to this client, in the respective
>> memory region.
>>
>> Default unit shall be bytes with optional unit specifiers of 'KiB' or
>> 'MiB'
>> indicating kibi- or mebi-bytes.
>> +
>> +===============================
>> +Driver specific implementations
>> +===============================
>> +
>> +:ref:`i915-usage-stats`
>> diff --git a/Documentation/gpu/i915.rst b/Documentation/gpu/i915.rst
>> index b7d801993bfa..29f412a0c3dc 100644
>> --- a/Documentation/gpu/i915.rst
>> +++ b/Documentation/gpu/i915.rst
>> @@ -708,3 +708,30 @@ The style guide for ``i915_reg.h``.
>>
>> .. kernel-doc:: drivers/gpu/drm/i915/i915_reg.h
>>    :doc: The i915 register macro definition style guide
>> +
>> +.. _i915-usage-stats:
>> +
>> +i915 DRM client usage stats implementation
>> +==========================================
>> +
>> +The drm/i915 driver implements the DRM client usage stats
>> specification as
>> +documented in :ref:`drm-client-usage-stats`.
>> +
>> +Example of the output showing the implemented key value pairs and
>> entirety of
>> +the currenly possible format options:
>
> s/currenly/currently/
>
> lgtm, for the series
> Reviewed-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>

Thanks Umesh!

There will be a small re-spin, mostly about adding drm-engine-capacity-
tag which I needed for vendor agnostic gputop, and couple fixups. Some
r-b's will need updating. I will copy you when sending it out.

Regards,

Tvrtko