Igt-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2] tests/intel/xe_fault_injection: Ignore expected errors
@ 2024-11-07 19:59 Jonathan Cavitt
  2024-11-07 20:13 ` ✗ GitLab.Pipeline: warning for tests/intel/xe_fault_injection: Ignore expected errors (rev2) Patchwork
                   ` (6 more replies)
  0 siblings, 7 replies; 11+ messages in thread
From: Jonathan Cavitt @ 2024-11-07 19:59 UTC (permalink / raw)
  To: igt-dev
  Cc: jonathan.cavitt, saurabhg.gupta, alex.zuo, francois.dugast,
	lucas.demarchi, matthew.brost, rodrigo.vivi, michal.wajdeczko,
	kamil.konieczny

The following errors can be observed when running the xe_fault_injection
subtests:

[drm] *ERROR* GT0: GuC init failed with -ENOMEM
[drm] *ERROR* GT0: Failed to initialize uC (-ENOMEM)
probe with driver xe failed with error -12

Add these messages to the dmesg ignore regex to the applicable tests
(specifically, all tests for the last error, and all tests that target
GuC subsystems for the first two errors).

v2:
- Fix and merge regex (Kamil)

Closes: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3343
Signed-off-by: Jonathan Cavitt <jonathan.cavitt@intel.com>
CC: Francois Dugast <francois.dugast@intel.com>
CC: Lucas De Marchi <lucas.demarchi@intel.com>
CC: Matthew Brost <matthew.brost@intel.com>
CC: Rodrigo Vivi <rodrigo.vivi@intel.com>
CC: Michal Wajdeczko <michal.wajdeczko@intel.com>
CC: Kamil Konieczny <kamil.konieczny@linux.intel.com>
---
 tests/intel/xe_fault_injection.c | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/tests/intel/xe_fault_injection.c b/tests/intel/xe_fault_injection.c
index d1c8b25307..8b181808ed 100644
--- a/tests/intel/xe_fault_injection.c
+++ b/tests/intel/xe_fault_injection.c
@@ -30,6 +30,30 @@ enum injection_list_action {
 	INJECTION_LIST_REMOVE,
 };
 
+static bool function_is_part_of_guc(char function_name[])
+{
+	return strstr(function_name, "_guc_") != NULL ||
+	       strstr(function_name, "_uc_") != NULL ||
+	       strstr(function_name, "_wopcm_") != NULL;
+}
+
+static void ignore_faults_in_dmesg(char function_name[])
+{
+	/* Driver probe is expected to fail in all cases, so ignore in igt_runner */
+	char regex[1024] = "probe with driver xe failed with error -12";
+
+	/*
+	 * If GuC module fault is injected, GuC is expected to fail,
+	 * so also ignore GuC init failures in igt_runner.
+	 */
+	if (function_is_part_of_guc(function_name)) {
+		strcat(regex, "|GT[0-9a-fA-F]*: GuC init failed with -ENOMEM");
+		strcat(regex, "|GT[0-9a-fA-F]*: Failed to initialize uC .-ENOMEM");
+	}
+
+	igt_emit_ignore_dmesg_regex(regex);
+}
+
 /*
  * The injectable file requires CONFIG_FUNCTION_ERROR_INJECTION in kernel.
  */
@@ -175,6 +199,7 @@ igt_main
 			if (regexec(&regex, line, 2, pmatch, 0) == 0) {
 				strcpy(function_name, line);
 				function_name[pmatch[1].rm_eo - 1] = '\0';
+				ignore_faults_in_dmesg(function_name);
 				igt_dynamic_f("function-%s", function_name)
 					inject_fault_try_bind(fd, pci_slot, function_name);
 			}
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2024-11-19 20:50 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-11-07 19:59 [PATCH v2] tests/intel/xe_fault_injection: Ignore expected errors Jonathan Cavitt
2024-11-07 20:13 ` ✗ GitLab.Pipeline: warning for tests/intel/xe_fault_injection: Ignore expected errors (rev2) Patchwork
2024-11-07 20:43 ` ✓ Fi.CI.BAT: success " Patchwork
2024-11-07 20:58 ` ✗ CI.xeBAT: failure " Patchwork
2024-11-07 22:22 ` ✗ Fi.CI.IGT: " Patchwork
2024-11-08 15:58 ` [PATCH v2] tests/intel/xe_fault_injection: Ignore expected errors Kamil Konieczny
2024-11-12 17:58   ` Dong, Zhanjun
2024-11-15 14:02     ` Kamil Konieczny
2024-11-19 14:31       ` Dong, Zhanjun
2024-11-09  2:54 ` ✗ CI.xeFULL: failure for tests/intel/xe_fault_injection: Ignore expected errors (rev2) Patchwork
2024-11-19 20:50 ` [PATCH v2] tests/intel/xe_fault_injection: Ignore expected errors Kamil Konieczny

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox