[PATCH v2] tests/intel/xe_fault_injection: Ignore expected errors
Kamil Konieczny
kamil.konieczny at linux.intel.com
Tue Nov 19 20:50:01 UTC 2024
Hi Jonathan,
On 2024-11-07 at 19:59:59 +0000, Jonathan Cavitt wrote:
> 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 at intel.com>
> CC: Francois Dugast <francois.dugast at intel.com>
> CC: Lucas De Marchi <lucas.demarchi at intel.com>
> CC: Matthew Brost <matthew.brost at intel.com>
> CC: Rodrigo Vivi <rodrigo.vivi at intel.com>
> CC: Michal Wajdeczko <michal.wajdeczko at intel.com>
> CC: Kamil Konieczny <kamil.konieczny at linux.intel.com>
> ---
> tests/intel/xe_fault_injection.c | 25 +++++++++++++++++++++++++
> 1 file changed, 25 insertions(+)
There were recently changes apllied to this test and now your patch
do not apply, also imho we need to test it again so please rebase
and resend.
Regards,
Kamil
>
> 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(®ex, 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
>
More information about the igt-dev
mailing list