[Intel-gfx] [PATCH] drm/i915/fdinfo: Enable fdinfo for GuC backends

Tvrtko Ursulin tvrtko.ursulin at linux.intel.com
Mon Apr 3 10:21:51 UTC 2023


On 31/03/2023 21:02, Umesh Nerlige Ramappa wrote:
> The underlying mechanism used to provide the client specific utilization
> in fdinfo is context busyness. When a context switches out, the HW
> records the runtime in the specific context field. This information is
> accumulated in fdinfo. This information is independent of the scheduling
> backend as long as contexts are switching out in reasonable time.
> 
> If a context is actively running on the engine, then the active busyness
> is calculated by using the delta between current time and the context
> switch in time. This part of the calculation depends on the scheduling
> backend. For GuC backends, this data comes entirely from GuC FW. The FW
> implementation is WIP.
> 
> Enable fdinfo for GuC based platforms with the exception that long
> running contexts will not provide reliable busyness data unless they
> switch out at some reasonable point in time.
> 
> Revert "drm/i915: Don't show engine information in fdinfo with GuC submission"
> This reverts commit 8d0e3decf26bc423d8b1c42c05636ccc05ea6b17.
> 
> Resolves: https://gitlab.freedesktop.org/drm/intel/issues/8303
> Signed-off-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa at intel.com>
> Test-with: 20230331195915.5839-1-umesh.nerlige.ramappa at intel.com
> ---
>   drivers/gpu/drm/i915/i915_drm_client.c | 6 +-----
>   1 file changed, 1 insertion(+), 5 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_drm_client.c b/drivers/gpu/drm/i915/i915_drm_client.c
> index e8fa172ebe5e..d18d0a3ed905 100644
> --- a/drivers/gpu/drm/i915/i915_drm_client.c
> +++ b/drivers/gpu/drm/i915/i915_drm_client.c
> @@ -147,11 +147,7 @@ void i915_drm_client_fdinfo(struct seq_file *m, struct file *f)
>   		   PCI_SLOT(pdev->devfn), PCI_FUNC(pdev->devfn));
>   	seq_printf(m, "drm-client-id:\t%u\n", client->id);
>   
> -	/*
> -	 * Temporarily skip showing client engine information with GuC submission till
> -	 * fetching engine busyness is implemented in the GuC submission backend
> -	 */
> -	if (GRAPHICS_VER(i915) < 8 || intel_uc_uses_guc_submission(&i915->gt0.uc))
> +	if (GRAPHICS_VER(i915) < 8)
>   		return;
>   
>   	for (i = 0; i < ARRAY_SIZE(uabi_class_names); i++)

Ack in principle but we have to figure out why Kurt reports this doesn't 
work - usage always zero with real workloads.

Regards,

Tvrtko


More information about the Intel-gfx mailing list