[PATCH i-g-t v2 1/2] tests/intel/xe_fault_injection: Suppress Guc CT dumps during fault injection

Cavitt, Jonathan jonathan.cavitt at intel.com
Tue May 6 17:36:58 UTC 2025


-----Original Message-----
From: igt-dev <igt-dev-bounces at lists.freedesktop.org> On Behalf Of Satyanarayana K V P
Sent: Tuesday, May 6, 2025 7:04 AM
To: igt-dev at lists.freedesktop.org
Cc: K V P, Satyanarayana <satyanarayana.k.v.p at intel.com>; Harrison, John C <john.c.harrison at intel.com>; Chauhan, Aditya <aditya.chauhan at intel.com>; Dugast, Francois <francois.dugast at intel.com>; Laguna, Lukasz <lukasz.laguna at intel.com>
Subject: [PATCH i-g-t v2 1/2] tests/intel/xe_fault_injection: Suppress Guc CT dumps during fault injection
> 
> When injecting fault to xe_guc_ct_send_recv() & xe_guc_mmio_send_recv()
> functions, the CI test systems are going out of space and crashing. To
> avoid this issue, a new helper function is created and when fault is injected
> into this xe_should_fail_ct_dead_capture() helper function, ct dead capture is
> avoided which suppresses ct dumps in the log.
> 
> Inject fault into xe_should_fail_ct_dead_capture() function along with
> xe_guc_ct_send_recv() & xe_guc_mmio_send_recv() to suppress GUC ct dumps.
> 
> Signed-off-by: Satyanarayana K V P <satyanarayana.k.v.p at intel.com>
> Suggested-by: John Harrison <John.C.Harrison at Intel.com>
> Tested-by: Aditya Chauhan <aditya.chauhan at intel.com>

Reviewed-by: Jonathan Cavitt <jonathan.cavitt at intel.com>
-Jonathan Cavitt

> ---
> Cc: Francois Dugast <francois.dugast at intel.com>
> Cc: Lukasz Laguna <lukasz.laguna at intel.com>
> ---
>  tests/intel/xe_fault_injection.c | 22 ++++++++++++++++++++++
>  1 file changed, 22 insertions(+)
> 
> diff --git a/tests/intel/xe_fault_injection.c b/tests/intel/xe_fault_injection.c
> index 602e4cb39..82d730a7c 100644
> --- a/tests/intel/xe_fault_injection.c
> +++ b/tests/intel/xe_fault_injection.c
> @@ -121,6 +121,22 @@ static void injection_list_add(const char function_name[])
>  	close(dir);
>  }
>  
> +static void injection_list_append(const char function_name[])
> +{
> +	int dir, fd, ret;
> +
> +	dir = fail_function_open();
> +	igt_assert_lte(0, dir);
> +
> +	fd = openat(dir, "inject", O_WRONLY | O_APPEND);
> +	ret = write(fd, function_name, strlen(function_name));
> +
> +	close(fd);
> +	close(dir);
> +
> +	igt_assert_lte(0, ret);
> +}
> +
>  static void injection_list_remove(const char function_name[])
>  {
>  	int dir;
> @@ -234,6 +250,10 @@ inject_fault_probe(int fd, char pci_slot[], const char function_name[])
>  
>  	ignore_faults_in_dmesg(function_name);
>  	injection_list_add(function_name);
> +	if (!strcmp(function_name, "xe_guc_ct_send_recv") ||
> +	    !strcmp(function_name, "xe_guc_mmio_send_recv"))
> +		injection_list_append("xe_should_fail_ct_dead_capture");
> +
>  	set_retval(function_name, INJECT_ERRNO);
>  
>  	igt_kmod_bind("xe", pci_slot);
> @@ -271,6 +291,8 @@ static void probe_fail_guc(int fd, char pci_slot[], const char function_name[],
>  	for (int i = iter_start; i < iter_end; i++) {
>  		fault_params->space = i;
>  		setup_injection_fault(fault_params);
> +		/* Clear the injection list  */
> +		injection_list_clear();
>  		inject_fault_probe(fd, pci_slot, function_name);
>  		igt_kmod_unbind("xe", pci_slot);
>  	}
> -- 
> 2.43.0
> 
> 


More information about the igt-dev mailing list