[igt-dev] [PATCH i-g-t 2/4] tools/intel_gpu_top: Fix client layout on first sample period

Kamil Konieczny kamil.konieczny at linux.intel.com
Tue Oct 10 16:31:59 UTC 2023


Hi Tvrtko,
On 2023-10-10 at 12:07:12 +0100, Tvrtko Ursulin wrote:
> From: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
> 
> 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 <tvrtko.ursulin at intel.com>

Reviewed-by: Kamil Konieczny <kamil.konieczny at linux.intel.com>

> ---
>  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
> 


More information about the igt-dev mailing list