Re: [PATCH i-g-t 2/2] intel_gpu_top: Move client name last

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 23/05/2023 11:51, Kamil Konieczny wrote:
On 2023-05-15 at 14:36:30 +0100, Tvrtko Ursulin wrote:
From: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx>

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 <tvrtko.ursulin@xxxxxxxxx>
Cc: Rob Clark <robdclark@xxxxxxxxxxxx>

Acked-by: Kamil Konieczny <kamil.konieczny@xxxxxxxxxxxxxxx>

Thanks Kamil, I've pushed this now having seen Rob will need to rebase his series anyway.

Regards,

Tvrtko


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




[Index of Archives]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux