[PATCH v1] tests/xe_debugfs: Improve test_gt subtest
Gurram, Pravalika
pravalika.gurram at intel.com
Thu Jan 9 17:42:37 UTC 2025
> -----Original Message-----
> From: De Marchi, Lucas <lucas.demarchi at intel.com>
> Sent: Thursday, January 9, 2025 10:33 PM
> To: Gurram, Pravalika <pravalika.gurram at intel.com>
> Cc: igt-dev at lists.freedesktop.org
> Subject: Re: [PATCH v1] tests/xe_debugfs: Improve test_gt subtest
>
> On Thu, Jan 09, 2025 at 04:27:21PM +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);
> >+ 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")) {
>
> strstr will find any substring "uc". You could do a strcmp() instead, but I don't
> understand why we are doing this here.
>
> I'd just remove 'uc' from the array and update validate_entries to ignore
> directories.
>
> Lucas De Marchi
>
Strcmp will not work here because sprintf will save name = "gt0/uc"
If we do strcmp(name,"gt0/uc") gt cannot be fixed 0 always correct it can change
that's why I have added strstr
I did not understand which directories can be ignored you meant say "uc"
we don't need to dump "uc/*" data?
--Pravalika
> >+ igt_debugfs_dump(fd, name);
> >+ } 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