Igt-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: "Bernatowicz, Marcin" <marcin.bernatowicz@linux.intel.com>
To: Kamil Konieczny <kamil.konieczny@linux.intel.com>,
	Peter Senna Tschudin <peter.senna@linux.intel.com>,
	igt-dev@lists.freedesktop.org, marcin.bernatowicz@intel.com,
	matthew.brost@intel.com, pravalika.gurram@intel.com
Subject: Re: [PATCH i-g-t] tests/intel/intel_sysfs_debugfs: Remove xe-gt
Date: Fri, 11 Apr 2025 10:01:12 +0200	[thread overview]
Message-ID: <48ed6161-0215-4220-a456-00132d3b6cd8@linux.intel.com> (raw)
In-Reply-To: <20250410181117.6ovckutjog7wleah@kamilkon-DESK.igk.intel.com>



On 4/10/2025 8:11 PM, Kamil Konieczny wrote:
> Hi Peter,
> On 2025-04-10 at 11:03:15 +0200, Peter Senna Tschudin wrote:
>> The intel_sysfs_debugfs test now includes functionality to read all Xe
>> debugfs files, making the older xe-gt test redundant. Additionally,
>> xe-gt causes issues when testing Virtual Functions (VFs) in SR-IOV
>> setups, as some of the debugfs files it expects are not present for VFs.
>>
>> Rather than extending the overlapping and problematic xe-gt, this commit
>> removes it entirely.
> 
> I agree on removing reading part but not on existence checks.
> Imho start with small refactor:
> 
> - remove readings
> - change existing checks so they will print _all_ missing
>    debugfs nodes and only after that test will fail if there
>    were misses
Isn’t that what validate_entries() is supposed to handle? (Although the 
warnings are currently hidden unless you use the --warn-not-hit flag - 
and that only works properly after removing the leading -- in 
long_options to make it behave naturally 😉)

There are already missing nodes like: gtX/tunings, gtX/stats, 
gtX/uc/gsc_info, gtX/uc/guc_ctb, plus additional ones if certain 
features are enabled.

The main problems I see with this approach are:

1. Maintenance cost – the list is already outdated and it's unclear what 
criteria should be used to decide which attributes to include

2. Platform/feature-specific nodes – we’d need to replicate kernel logic 
to avoid false positives, which adds further maintenance overhead. Those 
specific feature checks are probably better handled by dedicated tests 
that directly use those attributes. Being a VF is just one specific case 
of this.
	
3. VM scenarios – we might be using an older kernel without some nodes. 
In IGT, we typically skip tests if the required feature isn’t available.

4. Private developer attributes – if a developer adds their own 
"non-public" attributes, the test would fail (though maybe that's not a 
major issue?).

--
marcin>
> Final step should be:
> - adding a flag for those nodes which should not exist on VF,
>    detect that and ignore this on VFs.
> 
> These could be done in one or in two patches.
> 
> Regards,
> Kamil
> 
>>
>> Cc: marcin.bernatowicz@intel.com
>> Cc: matthew.brost@intel.com
>> Cc: pravalika.gurram@intel.com
>> Cc: kamil.konieczny@linux.intel.com
>> Signed-off-by: Peter Senna Tschudin <peter.senna@linux.intel.com>
>> ---
>>   tests/intel/intel_sysfs_debugfs.c | 66 -------------------------------
>>   1 file changed, 66 deletions(-)
>>
>> diff --git a/tests/intel/intel_sysfs_debugfs.c b/tests/intel/intel_sysfs_debugfs.c
>> index 6beb94109..431934aee 100644
>> --- a/tests/intel/intel_sysfs_debugfs.c
>> +++ b/tests/intel/intel_sysfs_debugfs.c
>> @@ -322,63 +322,6 @@ xe_test_base(int fd, struct drm_xe_query_config *config)
>>   	xe_validate_entries(fd, "", expected_files, ARRAY_SIZE(expected_files));
>>   }
>>   
>> -/**
>> - * SUBTEST: xe-gt
>> - * Description: Check all gt debugfs devnodes
>> - * TODO: add support for ``force_reset`` entries
>> - */
>> -static void
>> -xe_test_gt(int fd, int gt_id)
>> -{
>> -	char name[256];
>> -	static const char * const expected_files[] = {
>> -		"uc",
>> -		"steering",
>> -		"topology",
>> -		"sa_info",
>> -		"hw_engines",
>> -		"pat",
>> -		"mocs",
>> -//		"force_reset"
>> -		"ggtt",
>> -		"register-save-restore",
>> -		"workarounds",
>> -		"default_lrc_rcs",
>> -		"default_lrc_ccs",
>> -		"default_lrc_bcs",
>> -		"default_lrc_vcs",
>> -		"default_lrc_vecs",
>> -		"hwconfig"
>> -
>> -	};
>> -	static const char * const expected_files_uc[] = {
>> -		"huc_info",
>> -		"guc_log",
>> -		"guc_info",
>> -//		"guc_ct_selftest"
>> -	};
>> -
>> -	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 (igt_debugfs_is_dir(fd, expected_files[i], gt_id))
>> -			continue;
>> -		igt_debugfs_dump(fd, name);
>> -	}
>> -
>> -	for (int i = 0; i < ARRAY_SIZE(expected_files_uc); i++) {
>> -		sprintf(name, "gt%d/uc/%s", gt_id, expected_files_uc[i]);
>> -		igt_assert(igt_debugfs_exists(fd, name, O_RDONLY));
>> -		igt_debugfs_dump(fd, name);
>> -	}
>> -
>> -	sprintf(name, "/gt%d", gt_id);
>> -	xe_validate_entries(fd, name, expected_files, ARRAY_SIZE(expected_files));
>> -
>> -	sprintf(name, "/gt%d/uc", gt_id);
>> -	xe_validate_entries(fd, name, expected_files_uc, ARRAY_SIZE(expected_files_uc));
>> -}
>> -
>>   /**
>>    * SUBTEST: xe-forcewake
>>    * Description: Check forcewake debugfs devnode
>> @@ -475,15 +418,6 @@ igt_main_args("", long_options, help_str, opt_handler, NULL)
>>   			xe_test_base(fd, xe_config(fd));
>>   		}
>>   
>> -		igt_describe("Check all gt debugfs devnodes");
>> -		igt_subtest("xe-gt") {
>> -			xe_for_each_gt(fd, gt) {
>> -				snprintf(devnode, sizeof(devnode), "gt%d", gt);
>> -				igt_require(igt_debugfs_exists(fd, devnode, O_RDONLY));
>> -				xe_test_gt(fd, gt);
>> -			}
>> -		}
>> -
>>   		igt_describe("Check forcewake debugfs devnode");
>>   		igt_subtest("xe-forcewake") {
>>   			xe_test_forcewake(fd);
>> -- 
>> 2.43.0
>>


  parent reply	other threads:[~2025-04-11  8:01 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-04-10  9:03 [PATCH i-g-t] tests/intel/intel_sysfs_debugfs: Remove xe-gt Peter Senna Tschudin
2025-04-10  9:30 ` Bernatowicz, Marcin
2025-04-10 10:22 ` ✓ i915.CI.BAT: success for " Patchwork
2025-04-10 10:40 ` ✓ Xe.CI.BAT: " Patchwork
2025-04-10 17:09 ` ✗ i915.CI.Full: failure " Patchwork
2025-04-10 17:22   ` Peter Senna Tschudin
2025-04-11  5:43     ` Ravali, JupallyX
2025-04-10 18:11 ` [PATCH i-g-t] " Kamil Konieczny
2025-04-11  7:35   ` Peter Senna Tschudin
2025-04-11  8:01   ` Bernatowicz, Marcin [this message]
2025-04-15  9:04     ` Kamil Konieczny
2025-04-11  5:09 ` ✓ i915.CI.Full: success for " Patchwork
2025-04-15  9:25 ` [PATCH i-g-t] " Kamil Konieczny
2025-04-15 10:05 ` Peter Senna Tschudin
2025-04-15 20:52 ` ✓ i915.CI.BAT: success for tests/intel/intel_sysfs_debugfs: Remove xe-gt (rev2) Patchwork
2025-04-15 21:22 ` ✓ Xe.CI.BAT: " Patchwork
2025-04-16  3:41 ` ✗ i915.CI.Full: failure " Patchwork
2025-04-16  4:55 ` ✗ Xe.CI.Full: " Patchwork

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=48ed6161-0215-4220-a456-00132d3b6cd8@linux.intel.com \
    --to=marcin.bernatowicz@linux.intel.com \
    --cc=igt-dev@lists.freedesktop.org \
    --cc=kamil.konieczny@linux.intel.com \
    --cc=marcin.bernatowicz@intel.com \
    --cc=matthew.brost@intel.com \
    --cc=peter.senna@linux.intel.com \
    --cc=pravalika.gurram@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox