[PATCH i-g-t v2 63/66] tests/xe_eudebug_online: Add subtests w/o long running mode

Piatkowski, Dominik Karol dominik.karol.piatkowski at intel.com
Thu Aug 1 09:09:11 UTC 2024


Reviewed-by: Dominik Karol Piątkowski <dominik.karol.piatkowski at intel.com>

> -----Original Message-----
> From: Manszewski, Christoph <christoph.manszewski at intel.com>
> Sent: Tuesday, July 30, 2024 1:45 PM
> To: igt-dev at lists.freedesktop.org
> Cc: Kempczynski, Zbigniew <zbigniew.kempczynski at intel.com>; Kamil
> Konieczny <kamil.konieczny at linux.intel.com>; Grzegorzek, Dominik
> <dominik.grzegorzek at intel.com>; Patelczyk, Maciej
> <maciej.patelczyk at intel.com>; Piatkowski, Dominik Karol
> <dominik.karol.piatkowski at intel.com>; Sikora, Pawel
> <pawel.sikora at intel.com>; Hajda, Andrzej <andrzej.hajda at intel.com>;
> Kolanupaka Naveena <kolanupaka.naveena at intel.com>; Kuoppala, Mika
> <mika.kuoppala at intel.com>; Mun, Gwan-gyeong <gwan-
> gyeong.mun at intel.com>
> Subject: [PATCH i-g-t v2 63/66] tests/xe_eudebug_online: Add subtests w/o
> long running mode
> 
> Currently all our online tests use vms in long running mode. Add 3 subtests
> without it to have some coverage for non-lr mode.
> 
> Signed-off-by: Christoph Manszewski <christoph.manszewski at intel.com>
> Cc: Dominik Karol Piątkowski <dominik.karol.piatkowski at intel.com>
> ---
>  tests/intel/xe_eudebug_online.c | 31 +++++++++++++++++++++++++++++--
>  1 file changed, 29 insertions(+), 2 deletions(-)
> 
> diff --git a/tests/intel/xe_eudebug_online.c b/tests/intel/xe_eudebug_online.c
> index 96129c06a..864591a34 100644
> --- a/tests/intel/xe_eudebug_online.c
> +++ b/tests/intel/xe_eudebug_online.c
> @@ -28,6 +28,7 @@
>  #define SHADER_N_NOOP_BREAKPOINT	(1 << 5)
>  #define SHADER_CACHING_SRAM		(1 << 6)
>  #define SHADER_CACHING_VRAM		(1 << 7)
> +#define DISABLE_LONG_RUNNING_MODE	(1 << 8)
>  #define TRIGGER_RESUME_SINGLE_WALK	(1 << 25)
>  #define TRIGGER_RESUME_PARALLEL_WALK	(1 << 26)
>  #define TRIGGER_RECONNECT		(1 << 27)
> @@ -1003,12 +1004,16 @@ static void run_online_client(struct
> xe_eudebug_client *c)
> 
> DRM_XE_DEBUG_METADATA_PROGRAM_MODULE,
>  							   2 *
> sizeof(*metadata), metadata[1]);
> 
> -	create.vm_id = xe_eudebug_client_vm_create(c, fd,
> DRM_XE_VM_CREATE_FLAG_LR_MODE, 0);
> +	if (c->flags & DISABLE_LONG_RUNNING_MODE)
> +		create.vm_id = xe_eudebug_client_vm_create(c, fd, 0, 0);
> +	else
> +		create.vm_id = xe_eudebug_client_vm_create(c, fd,
> +DRM_XE_VM_CREATE_FLAG_LR_MODE, 0);
> +
>  	xe_eudebug_client_exec_queue_create(c, fd, &create);
> 
>  	ibb = xe_bb_create_on_offset(fd, create.exec_queue_id, create.vm_id,
>  				     bb_offset, bb_size);
> -	intel_bb_set_lr_mode(ibb, true);
> +	intel_bb_set_lr_mode(ibb, !(c->flags &
> DISABLE_LONG_RUNNING_MODE));
> 
>  	sip = get_sip(fd, c->flags);
>  	shader = get_shader(fd, c->flags);
> @@ -1251,6 +1256,10 @@ static void ufence_ack_trigger(struct
> xe_eudebug_debugger *d,
>   *	Check whether KMD sends attention events
>   *	for workload in debug mode stopped on breakpoint.
>   *
> + * SUBTEST: basic-breakpoint-no-lr
> + * Description:
> + *	Same as basic-breakpoint but without vm in long running mode.
> + *
>   * SUBTEST: breakpoint-not-in-debug-mode
>   * Description:
>   *	Check whether KMD resets the GPU when it spots an attention
> @@ -1337,6 +1346,10 @@ static void test_reset_with_attention_online(int
> fd, struct drm_xe_engine_class_
>   *	interrupts all threads, checks whether attention event came, and
>   *	resumes stopped threads back.
>   *
> + * SUBTEST: interrupt-all-no-lr
> + * Description:
> + *	Same as interrupt-all but without vm in long running mode.
> + *
>   * SUBTEST: interrupt-all-set-breakpoint
>   * Description:
>   *	Schedules EU workload which should last about a few seconds, then
> @@ -1557,6 +1570,10 @@ static void
> eu_attention_debugger_detach_trigger(struct xe_eudebug_debugger *d,
>   *	interrupts all threads and detaches debugger when attention is
>   *	raised. The test checks if KMD resets the workload when there's
>   *	no debugger attached and does the event playback on discovery.
> + *
> + * SUBTEST: interrupt-reconnect-no-lr
> + * Description:
> + *	Same as interrupt-reconnect but without vm in long running mode.
>   */
>  static void test_interrupt_reconnect(int fd, struct
> drm_xe_engine_class_instance *hwe, int flags)  { @@ -1792,6 +1809,9 @@
> igt_main
>  	test_gt_render_or_compute("basic-breakpoint", fd, hwe)
>  		test_basic_online(fd, hwe, SHADER_BREAKPOINT);
> 
> +	test_gt_render_or_compute("basic-breakpoint-no-lr", fd, hwe)
> +		test_basic_online(fd, hwe, SHADER_BREAKPOINT |
> +DISABLE_LONG_RUNNING_MODE);
> +
>  	test_gt_render_or_compute("breakpoint-not-in-debug-mode", fd,
> hwe)
>  		test_basic_online(fd, hwe, SHADER_BREAKPOINT |
> DISABLE_DEBUG_MODE);
> 
> @@ -1807,6 +1827,9 @@ igt_main
>  	test_gt_render_or_compute("interrupt-all", fd, hwe)
>  		test_interrupt_all(fd, hwe, SHADER_LOOP);
> 
> +	test_gt_render_or_compute("interrupt-all-no-lr", fd, hwe)
> +		test_interrupt_all(fd, hwe, SHADER_LOOP |
> DISABLE_LONG_RUNNING_MODE);
> +
>  	test_gt_render_or_compute("interrupt-all-set-breakpoint", fd, hwe)
>  		test_interrupt_all(fd, hwe, SHADER_LOOP |
> TRIGGER_RESUME_SET_BP);
> 
> @@ -1819,6 +1842,10 @@ igt_main
>  	test_gt_render_or_compute("interrupt-reconnect", fd, hwe)
>  		test_interrupt_reconnect(fd, hwe, SHADER_LOOP |
> TRIGGER_RECONNECT);
> 
> +	test_gt_render_or_compute("interrupt-reconnect-no-lr", fd, hwe)
> +		test_interrupt_reconnect(fd, hwe, SHADER_LOOP |
> TRIGGER_RECONNECT |
> +					 DISABLE_LONG_RUNNING_MODE);
> +
>  	test_gt_render_or_compute("single-step", fd, hwe)
>  		test_single_step(fd, hwe, SHADER_SINGLE_STEP |
> SIP_SINGLE_STEP |
>  				 TRIGGER_RESUME_PARALLEL_WALK);
> --
> 2.34.1



More information about the igt-dev mailing list