[PATCH v1] tests/xe_debugfs: Improve test_gt subtest

Kamil Konieczny kamil.konieczny at linux.intel.com
Fri Jan 10 12:07:01 UTC 2025


Hi Pravalika,
On 2025-01-09 at 16:27:21 +0530, Pravalika Gurram wrote:
> Read the debugfs entries in the loop to improve
> the readability.
> 
> Signed-off-by: Pravalika Gurram <pravalika.gurram at intel.com>
> ---
>  tests/intel/xe_debugfs.c | 84 +++++++---------------------------------
>  1 file changed, 13 insertions(+), 71 deletions(-)
> 
> diff --git a/tests/intel/xe_debugfs.c b/tests/intel/xe_debugfs.c
> index bcbb5036a..3d8c17921 100644
> --- a/tests/intel/xe_debugfs.c
> +++ b/tests/intel/xe_debugfs.c
> @@ -180,77 +180,19 @@ test_gt(int fd, int gt_id)
>  //		"guc_ct_selftest"
>  	};
>  
> -	sprintf(name, "gt%d/hw_engines", gt_id);
> -	igt_assert(igt_debugfs_exists(fd, name, O_RDONLY));
> -	igt_debugfs_dump(fd, name);
> -
> -	sprintf(name, "gt%d/sa_info", gt_id);
> -	igt_assert(igt_debugfs_exists(fd, name, O_RDONLY));
> -	igt_debugfs_dump(fd, name);
> -
> -	sprintf(name, "gt%d/steering", gt_id);
> -	igt_assert(igt_debugfs_exists(fd, name, O_RDONLY));
> -	igt_debugfs_dump(fd, name);
> -
> -	sprintf(name, "gt%d/topology", gt_id);
> -	igt_assert(igt_debugfs_exists(fd, name, O_RDONLY));
> -	igt_debugfs_dump(fd, name);
> -
> -	sprintf(name, "gt%d/pat", gt_id);
> -	igt_assert(igt_debugfs_exists(fd, name, O_RDONLY));
> -	igt_debugfs_dump(fd, name);
> -
> -	sprintf(name, "gt%d/mocs", gt_id);
> -	igt_assert(igt_debugfs_exists(fd, name, O_RDONLY));
> -	igt_debugfs_dump(fd, name);
> -
> -	sprintf(name, "gt%d/ggtt", gt_id);
> -	igt_assert(igt_debugfs_exists(fd, name, O_RDONLY));
> -	igt_debugfs_dump(fd, name);
> -
> -	sprintf(name, "gt%d/register-save-restore", gt_id);
> -	igt_assert(igt_debugfs_exists(fd, name, O_RDONLY));
> -	igt_debugfs_dump(fd, name);
> -
> -	sprintf(name, "gt%d/workarounds", gt_id);
> -	igt_assert(igt_debugfs_exists(fd, name, O_RDONLY));
> -	igt_debugfs_dump(fd, name);
> -
> -	sprintf(name, "gt%d/default_lrc_rcs", gt_id);
> -	igt_assert(igt_debugfs_exists(fd, name, O_RDONLY));
> -	igt_debugfs_dump(fd, name);
> -
> -	sprintf(name, "gt%d/default_lrc_ccs", gt_id);
> -	igt_assert(igt_debugfs_exists(fd, name, O_RDONLY));
> -	igt_debugfs_dump(fd, name);
> -
> -	sprintf(name, "gt%d/default_lrc_bcs", gt_id);
> -	igt_assert(igt_debugfs_exists(fd, name, O_RDONLY));
> -	igt_debugfs_dump(fd, name);
> -
> -	sprintf(name, "gt%d/default_lrc_vecs", gt_id);
> -	igt_assert(igt_debugfs_exists(fd, name, O_RDONLY));
> -	igt_debugfs_dump(fd, name);
> -
> -	sprintf(name, "gt%d/default_lrc_vcs", gt_id);
> -	igt_assert(igt_debugfs_exists(fd, name, O_RDONLY));
> -	igt_debugfs_dump(fd, name);
> -
> -	sprintf(name, "gt%d/hwconfig", gt_id);
> -	igt_assert(igt_debugfs_exists(fd, name, O_RDONLY));
> -	igt_debugfs_dump(fd, name);
> -
> -	sprintf(name, "gt%d/uc/guc_info", gt_id);
> -	igt_assert(igt_debugfs_exists(fd, name, O_RDONLY));
> -	igt_debugfs_dump(fd, name);
> -
> -	sprintf(name, "gt%d/uc/huc_info", gt_id);
> -	igt_assert(igt_debugfs_exists(fd, name, O_RDONLY));
> -	igt_debugfs_dump(fd, name);
> -
> -	sprintf(name, "gt%d/uc/guc_log", gt_id);
> -	igt_assert(igt_debugfs_exists(fd, name, O_RDONLY));
> -	igt_debugfs_dump(fd, name);

Why not two loops? One for main folder, second for 'uc'?
Or by a function call, see below.

> +	for (int i = 0; i < ARRAY_SIZE(expected_files); i++) {
> +		sprintf(name, "gt%d/%s", gt_id, expected_files[i]);
> +		igt_assert(igt_debugfs_exists(fd, name, O_RDONLY));
> +		if (!strstr(name, "uc")) {
> +			igt_debugfs_dump(fd, name);

imho better skip in case name is dir:
		if (igt_debugfs_is_dir(fd, name))
			continue;

this would allow to write it clean with help of new function:

 	sprintf(name, "/gt%d", gt_id);
  	validate_read(fd, name, expected_files, ARRAY_SIZE(expected_files));

 	sprintf(name, "/gt%d/uc", gt_id);
  	validate_read(fd, name, expected_files_uc, ARRAY_SIZE(expected_files_uc));

Regards,
Kamil

> +		} else {
> +			for (int j = 0; j < ARRAY_SIZE(expected_files_uc); j++) {
> +				sprintf(name, "gt%d/uc/%s", gt_id, expected_files_uc[j]);
> +				igt_assert(igt_debugfs_exists(fd, name, O_RDONLY));
> +				igt_debugfs_dump(fd, name);
> +			}
> +		}
> +	}
>  
>  	sprintf(name, "/gt%d", gt_id);
>  	validate_entries(fd, name, expected_files, ARRAY_SIZE(expected_files));
> -- 
> 2.34.1
> 


More information about the igt-dev mailing list