[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