[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