On 2023-05-15 at 14:36:30 +0100, Tvrtko Ursulin wrote:
> From: Tvrtko Ursulin <[email protected]>
> 
> Move client name to be the right most field which visually aligns better
> with top(1) and prepares for inserting memory usage fields somewhere in
> the middle.
> 
> Signed-off-by: Tvrtko Ursulin <[email protected]>
> Cc: Rob Clark <[email protected]>

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

> ---
>  tools/intel_gpu_top.c | 19 +++++++++----------
>  1 file changed, 9 insertions(+), 10 deletions(-)
> 
> diff --git a/tools/intel_gpu_top.c b/tools/intel_gpu_top.c
> index 453090c298bc..937280a7151a 100644
> --- a/tools/intel_gpu_top.c
> +++ b/tools/intel_gpu_top.c
> @@ -1809,9 +1809,7 @@ print_clients_header(struct igt_drm_clients *clients, 
> int lines,
>                       return lines;
>  
>               printf("\033[7m");
> -             len = printf("%*s %*s ",
> -                          clients->max_pid_len, "PID",
> -                          clients->max_name_len, "NAME");
> +             len = printf("%*s ", clients->max_pid_len, "PID");
>  
>               if (lines++ >= con_h || len >= con_w)
>                       return lines;
> @@ -1825,7 +1823,9 @@ print_clients_header(struct igt_drm_clients *clients, 
> int lines,
>                                       num_active++;
>                       }
>  
> -                     *class_w = width = (con_w - len) / num_active;
> +                     *class_w = width =
> +                             (con_w - len - clients->max_name_len - 1) /
> +                             num_active;
>  
>                       for (i = 0; i <= iclients->classes.max_engine_id; i++) {
>                               const char *name = iclients->classes.names[i];
> @@ -1846,8 +1846,7 @@ print_clients_header(struct igt_drm_clients *clients, 
> int lines,
>                       }
>               }
>  
> -             n_spaces(con_w - len);
> -             printf("\033[0m\n");
> +             printf(" %-*s\033[0m\n", con_w - len - 1, "NAME");
>       } else {
>               if (iclients->classes.num_engines)
>                       pops->open_struct("clients");
> @@ -1866,6 +1865,7 @@ print_client(struct igt_drm_client *c, struct engines 
> *engines, double t, int li
>       struct igt_drm_clients *clients = c->clients;
>       struct intel_clients *iclients = clients->private_data;
>       unsigned int i;
> +     int len;
>  
>       if (output_mode == INTERACTIVE) {
>               if (filter_idle && (!c->total_runtime || c->samples < 2))
> @@ -1873,9 +1873,7 @@ print_client(struct igt_drm_client *c, struct engines 
> *engines, double t, int li
>  
>               lines++;
>  
> -             printf("%*s %*s ",
> -                    clients->max_pid_len, c->pid_str,
> -                    clients->max_name_len, c->print_name);
> +             len = printf("%*s ", clients->max_pid_len, c->pid_str);
>  
>               for (i = 0;
>                    c->samples > 1 && i <= iclients->classes.max_engine_id;
> @@ -1898,9 +1896,10 @@ print_client(struct igt_drm_client *c, struct engines 
> *engines, double t, int li
>  
>                       print_percentage_bar(pct, max, *class_w,
>                                            numeric_clients);
> +                     len += *class_w;
>               }
>  
> -             putchar('\n');
> +             printf(" %-*s\n", con_w - len - 1, c->print_name);
>       } else if (output_mode == JSON) {
>               char buf[64];
>  
> -- 
> 2.37.2
> 

Reply via email to