[igt-dev] [Intel-gfx] [PATCH i-g-t 2/2] intel_gpu_top: Move client name last

Tvrtko Ursulin tvrtko.ursulin at linux.intel.com
Wed May 24 13:10:49 UTC 2023


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 at intel.com>
>>
>> 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 at intel.com>
>> Cc: Rob Clark <robdclark at chromium.org>
> 
> Acked-by: Kamil Konieczny <kamil.konieczny at linux.intel.com>

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


More information about the igt-dev mailing list