From: Sk Anirban <sk.anirban@intel.com>
To: igt-dev@lists.freedesktop.org
Cc: anshuman.gupta@intel.com, badal.nilawar@intel.com,
riana.tauro@intel.com, karthik.poosa@intel.com,
raag.jadav@intel.com, soham.purkait@intel.com,
mallesh.koujalagi@intel.com, kamil.konieczny@intel.com,
Sk Anirban <sk.anirban@intel.com>
Subject: [PATCH v2] tests/intel: Avoid stale errno
Date: Fri, 4 Sep 2026 15:30:43 +0530 [thread overview]
Message-ID: <20260904100042.583658-2-sk.anirban@intel.com> (raw)
Commit <e311ed2c7> ("lib/igt_core: do not reset errno in igt_gettime")
removed an incidental errno reset that used to mask stale errno at
subtest entry. Now a stale errno from an earlier, unrelated probe can
survive into a later assertion failure and gets printed as a
misleading "Last errno" hint, e.g. in xe_gt_freq's throttle_basic_api:
CRITICAL: Failed assertion: !strcmp(throttle_reasons, "none")
CRITICAL: Last errno: 2, No such file or directory
CRITICAL: GT 0 is throttled due to: pl4
The real cause is the GT being throttled; "Last errno: 2" is stale
and unrelated, making triage confusing.
Fix this by clearing errno right where it is known to go stale.
v2: Update fix path (Kamil)
Signed-off-by: Sk Anirban <sk.anirban@intel.com>
---
lib/xe/xe_gt.c | 1 +
tests/intel/xe_gt_freq.c | 1 +
tests/intel/xe_pm.c | 1 +
tests/intel/xe_pm_residency.c | 1 +
tests/intel/xe_pmu.c | 1 +
5 files changed, 5 insertions(+)
diff --git a/lib/xe/xe_gt.c b/lib/xe/xe_gt.c
index 8f54b6e25..3d8b4f68a 100644
--- a/lib/xe/xe_gt.c
+++ b/lib/xe/xe_gt.c
@@ -224,6 +224,7 @@ bool xe_gt_is_in_c6(int fd, int gt)
return true;
igt_debug("GT%d C-state is %s\n", gt, gt_c_state);
+ errno = 0;
return false;
}
diff --git a/tests/intel/xe_gt_freq.c b/tests/intel/xe_gt_freq.c
index 19306dc41..886537862 100644
--- a/tests/intel/xe_gt_freq.c
+++ b/tests/intel/xe_gt_freq.c
@@ -397,6 +397,7 @@ int igt_main()
stash_min[gt] = xe_gt_get_freq(fd, gt, "min");
stash_max[gt] = xe_gt_get_freq(fd, gt, "max");
}
+ errno = 0;
}
igt_subtest("throttle_basic_api") {
diff --git a/tests/intel/xe_pm.c b/tests/intel/xe_pm.c
index 7faba7c2b..543f46f5b 100644
--- a/tests/intel/xe_pm.c
+++ b/tests/intel/xe_pm.c
@@ -990,6 +990,7 @@ int igt_main()
igt_install_exit_handler(igt_drm_debug_mask_reset_exit_handler);
update_debug_mask_if_ci(DRM_UT_KMS);
+ errno = 0;
}
for (const struct s_state *s = s_states; s->name; s++) {
diff --git a/tests/intel/xe_pm_residency.c b/tests/intel/xe_pm_residency.c
index bfae1f844..e976048a9 100644
--- a/tests/intel/xe_pm_residency.c
+++ b/tests/intel/xe_pm_residency.c
@@ -574,6 +574,7 @@ int igt_main()
igt_require(!IS_PONTEVECCHIO(xe_dev_id(fd)));
igt_require(xe_sysfs_gt_has_node(fd, 0, "gtidle"));
+ errno = 0;
}
igt_describe("Validate GT C6 on idle");
diff --git a/tests/intel/xe_pmu.c b/tests/intel/xe_pmu.c
index a8ceac46c..5b098c45c 100644
--- a/tests/intel/xe_pmu.c
+++ b/tests/intel/xe_pmu.c
@@ -1076,6 +1076,7 @@ int igt_main()
xe_perf_device(fd, xe_device, sizeof(xe_device));
num_engines = xe_number_engines(fd);
has_engine_active_ticks = has_event(xe_device, "engine-active-ticks");
+ errno = 0;
}
igt_describe("Validate PMU gt-c6 residency counters when idle");
--
2.43.0
next reply other threads:[~2026-09-04 10:12 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-04 10:00 Sk Anirban [this message]
2026-09-04 10:58 ` ✓ Xe.CI.BAT: success for tests/intel: Avoid stale errno Patchwork
2026-09-04 11:15 ` ✓ i915.CI.BAT: " Patchwork
2026-09-04 21:26 ` ✗ Xe.CI.FULL: failure " Patchwork
2026-09-07 10:30 ` Anirban, Sk
2026-09-04 23:04 ` ✗ i915.CI.Full: " Patchwork
2026-09-07 9:42 ` [PATCH v2] " Kamil Konieczny
2026-09-07 10:33 ` Anirban, Sk
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=20260904100042.583658-2-sk.anirban@intel.com \
--to=sk.anirban@intel.com \
--cc=anshuman.gupta@intel.com \
--cc=badal.nilawar@intel.com \
--cc=igt-dev@lists.freedesktop.org \
--cc=kamil.konieczny@intel.com \
--cc=karthik.poosa@intel.com \
--cc=mallesh.koujalagi@intel.com \
--cc=raag.jadav@intel.com \
--cc=riana.tauro@intel.com \
--cc=soham.purkait@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.