Hi Tvrtko,
On 2023-10-10 at 12:07:12 +0100, Tvrtko Ursulin wrote:
> From: Tvrtko Ursulin <[email protected]>
> 
> When I moved the client name to be last, I did not account for the fact
> current code skips showing engine utilisation until at least two sampling
> periods have passed. Consequence of this is that client name gets printed
> as the second field and not under the "NAME" column header.
> 
> Fix it by emitting spaces instead of engine utilisation until two samples
> have been collected.
> 
> Signed-off-by: Tvrtko Ursulin <[email protected]>

Reviewed-by: Kamil Konieczny <[email protected]>

> ---
>  tools/intel_gpu_top.c | 13 +++++++++----
>  1 file changed, 9 insertions(+), 4 deletions(-)
> 
> diff --git a/tools/intel_gpu_top.c b/tools/intel_gpu_top.c
> index 60fe06917531..c5abd0c92155 100644
> --- a/tools/intel_gpu_top.c
> +++ b/tools/intel_gpu_top.c
> @@ -928,12 +928,14 @@ static void free_display_clients(struct igt_drm_clients 
> *clients)
>  
>  static const char *bars[] = { " ", "▏", "▎", "▍", "▌", "▋", "▊", "▉", "█" };
>  
> -static void n_spaces(const unsigned int n)
> +static unsigned int n_spaces(const unsigned int n)
>  {
>       unsigned int i;
>  
>       for (i = 0; i < n; i++)
>               putchar(' ');
> +
> +     return n;
>  }
>  
>  static void
> @@ -2043,14 +2045,17 @@ print_client(struct igt_drm_client *c, struct engines 
> *engines, double t, int li
>  
>               len = printf("%*s ", clients->max_pid_len, c->pid_str);
>  
> -             for (i = 0;
> -                  c->samples > 1 && i <= iclients->classes.max_engine_id;
> -                  i++) {
> +             for (i = 0; i <= iclients->classes.max_engine_id; i++) {
>                       double pct, max;
>  
>                       if (!iclients->classes.capacity[i])
>                               continue;
>  
> +                     if (c->samples < 2) {
> +                             len += n_spaces(*class_w);
> +                             continue;
> +                     }
> +
>                       pct = (double)c->val[i] / period_us / 1e3 * 100;
>  
>                       /*
> -- 
> 2.39.2
> 

Reply via email to