[PATCH] [i-g-t] tests/intel/xe_vm:Reduce n_execs for bind-array-enobufs

Cavitt, Jonathan jonathan.cavitt at intel.com
Wed Oct 23 14:12:02 UTC 2024


-----Original Message-----
From: Randhawa, Jagmeet <jagmeet.randhawa at intel.com> 
Sent: Tuesday, October 22, 2024 1:12 PM
Cc: igt-dev at lists.freedesktop.org; Cavitt, Jonathan <jonathan.cavitt at intel.com>; Zuo, Alex <alex.zuo at intel.com>; Konieczny, Kamil <kamil.konieczny at intel.com>; Randhawa, Jagmeet <jagmeet.randhawa at intel.com>
Subject: [PATCH] [i-g-t] tests/intel/xe_vm:Reduce n_execs for bind-array-enobufs
> 
> The bind-array-enobufs test in xe_vm.c is intended to trigger
> an -ENOBUFS error by submitting an oversized bind array.
> After encountering and handling the error, the test reduces
> n_execs by half and retries the operation. On some environments
> with stricter resource limits (e.g. simulator),

Is it "just" simulator this is an issue on?  Because if so, we could probably
use igt_run_in_simulation() to narrow the scope:

"""
		xe_cork_fini(&cork);
-		n_execs = n_execs / 2;
+		n_execs /= igt_run_in_simulation() ? 4 : 2;
}
"""

If not, then
Reviewed-by: Jonathan Cavitt <jonathan.cavitt at intel.com>
-Jonathan Cavitt

> halving n_execs isn't sufficient to prevent the ENOBUFS error on the retry.
> Reducing n_execs further to n_execs / 4 allows the test to pass
> successfully. This patch modifies the test to reduce n_execs
> to n_execs / 4 after an ENOBUFS error is handled. This ensures
> compatibility with environments that have tighter resource
> constraints while maintaining the test's integrity.
> 
> Cc: Jonathan Cavitt <jonathan.cavitt at intel.com>
> Signed-off-by: Jagmeet Randhawa <jagmeet.randhawa at intel.com>
> ---
>  tests/intel/xe_vm.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/tests/intel/xe_vm.c b/tests/intel/xe_vm.c
> index 7a8740b69..e78ddd0e5 100644
> --- a/tests/intel/xe_vm.c
> +++ b/tests/intel/xe_vm.c
> @@ -957,7 +957,7 @@ test_bind_array(int fd, struct drm_xe_engine_class_instance *eci, int n_execs,
>  		xe_cork_end(&cork);
>  		xe_cork_wait_done(&cork);
>  		xe_cork_fini(&cork);
> -		n_execs = n_execs / 2;
> +		n_execs = n_execs / 4;
>  	}
>  
>  	xe_vm_bind_array(fd, vm, bind_exec_queue, bind_ops, n_execs, sync, 1);
> -- 
> 2.34.1
> 
> 


More information about the igt-dev mailing list