Igt-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: "Grzegorzek, Dominik" <dominik.grzegorzek@intel.com>
To: "igt-dev@lists.freedesktop.org" <igt-dev@lists.freedesktop.org>,
	"Manszewski, Christoph" <christoph.manszewski@intel.com>
Cc: "Patelczyk, Maciej" <maciej.patelczyk@intel.com>,
	"Hajda, Andrzej" <andrzej.hajda@intel.com>,
	"Kempczynski, Zbigniew" <zbigniew.kempczynski@intel.com>,
	"Piatkowski, Dominik Karol" <dominik.karol.piatkowski@intel.com>,
	"Sikora, Pawel" <pawel.sikora@intel.com>,
	"Kuoppala, Mika" <mika.kuoppala@intel.com>,
	"Mun, Gwan-gyeong" <gwan-gyeong.mun@intel.com>,
	"kamil.konieczny@linux.intel.com"
	<kamil.konieczny@linux.intel.com>,
	Kolanupaka Naveena <kolanupaka.naveena@intel.com>
Subject: Re: [PATCH i-g-t v2 63/66] tests/xe_eudebug_online: Add subtests w/o long running mode
Date: Thu, 1 Aug 2024 19:27:39 +0000	[thread overview]
Message-ID: <1a0ea6fba4c8c25d88425382b92b10baec27a2b1.camel@intel.com> (raw)
In-Reply-To: <20240730114523.334156-64-christoph.manszewski@intel.com>

On Tue, 2024-07-30 at 13:45 +0200, Christoph Manszewski wrote:
> 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@intel.com>
> Cc: Dominik Karol Piątkowski <dominik.karol.piatkowski@intel.com>
Even though the commit is correct it probably would need to be removed in the future.
During upstream review of the Xe it was pointed out that we will need to limit
debugger functionality to only lr mode, as we depend on it. 

Regards, 
Dominik
> ---
>  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);


  parent reply	other threads:[~2024-08-01 19:27 UTC|newest]

Thread overview: 113+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-07-30 11:44 [PATCH i-g-t v2 00/66] Test coverage for GPU debug support Christoph Manszewski
2024-07-30 11:44 ` [PATCH i-g-t v2 01/66] drm-uapi/xe: Sync with eudebug uapi Christoph Manszewski
2024-08-08 13:18   ` Kamil Konieczny
2024-08-08 15:05     ` Manszewski, Christoph
2024-07-30 11:44 ` [PATCH i-g-t v2 02/66] tests/xe_eudebug: Test eudebug connection Christoph Manszewski
2024-08-01  9:16   ` Grzegorzek, Dominik
2024-08-02 10:14     ` Manszewski, Christoph
2024-08-01  9:30   ` Piatkowski, Dominik Karol
2024-07-30 11:44 ` [PATCH i-g-t v2 03/66] lib/xe_eudebug: Introduce eu debug testing framework Christoph Manszewski
2024-08-01 11:18   ` Piatkowski, Dominik Karol
2024-07-30 11:44 ` [PATCH i-g-t v2 04/66] lib/xe_eudebug: Allow client to wait for debugger Christoph Manszewski
2024-07-30 11:44 ` [PATCH i-g-t v2 05/66] lib/xe_eudebug: Add exec_queue support Christoph Manszewski
2024-07-30 11:44 ` [PATCH i-g-t v2 06/66] lib/xe_eudebug: Add attention events support Christoph Manszewski
2024-08-01 11:20   ` Piatkowski, Dominik Karol
2024-07-30 11:44 ` [PATCH i-g-t v2 07/66] lib/xe_ioctl: Add wrapper with vm_bind_op extension parameter Christoph Manszewski
2024-08-01 11:23   ` Piatkowski, Dominik Karol
2024-07-30 11:44 ` [PATCH i-g-t v2 08/66] lib/xe_eudebug: Add support for vm_bind events Christoph Manszewski
2024-08-01 11:28   ` Piatkowski, Dominik Karol
2024-07-30 11:44 ` [PATCH i-g-t v2 09/66] lib/xe_eudebug: Add metadata support Christoph Manszewski
2024-07-30 11:44 ` [PATCH i-g-t v2 10/66] lib/xe_eudebug: Add support for user fence acking Christoph Manszewski
2024-08-01 11:34   ` Piatkowski, Dominik Karol
2024-07-30 11:44 ` [PATCH i-g-t v2 11/66] lib/xe_eudebug: Add support for dynamic debugger sysfs toggle Christoph Manszewski
2024-08-01 11:51   ` Piatkowski, Dominik Karol
2024-07-30 11:44 ` [PATCH i-g-t v2 12/66] tests/xe_eudebug: Test open close events Christoph Manszewski
2024-08-01 11:53   ` Piatkowski, Dominik Karol
2024-07-30 11:44 ` [PATCH i-g-t v2 13/66] tests/xe_eudebug: Exercise read_event ioctl Christoph Manszewski
2024-08-01 12:01   ` Piatkowski, Dominik Karol
2024-07-30 11:44 ` [PATCH i-g-t v2 14/66] tests/xe_eudebug: Add vm events sanity check Christoph Manszewski
2024-08-01 12:04   ` Piatkowski, Dominik Karol
2024-07-30 11:44 ` [PATCH i-g-t v2 15/66] tests/xe_eudebug: Race discovery against eudebug attach Christoph Manszewski
2024-08-01 12:08   ` Piatkowski, Dominik Karol
2024-07-30 11:44 ` [PATCH i-g-t v2 16/66] tests/xe_eudebug: Introduce basic exec_queue testing Christoph Manszewski
2024-08-01 12:15   ` Piatkowski, Dominik Karol
2024-07-30 11:44 ` [PATCH i-g-t v2 17/66] tests/xe_eudebug: Include exec queues in discovery testing Christoph Manszewski
2024-07-30 11:44 ` [PATCH i-g-t v2 18/66] tests/xe_eudebug: Add vm open/pread/pwrite basic tests Christoph Manszewski
2024-08-01 12:20   ` Piatkowski, Dominik Karol
2024-07-30 11:44 ` [PATCH i-g-t v2 19/66] tests/xe_eudebug: Add basic vm-bind coverage Christoph Manszewski
2024-07-30 11:44 ` [PATCH i-g-t v2 20/66] tests/xe_eudebug: Exercise debug metadata events sent to debugger Christoph Manszewski
2024-07-30 11:44 ` [PATCH i-g-t v2 21/66] tests/xe_eudebug: Add support for dynamic debugger sysfs toggle Christoph Manszewski
2024-08-01 12:25   ` Piatkowski, Dominik Karol
2024-07-30 11:44 ` [PATCH i-g-t v2 22/66] tests/xe_eudebug: Add coverage for sysfs debugger toggle Christoph Manszewski
2024-08-01 12:28   ` Piatkowski, Dominik Karol
2024-07-30 11:44 ` [PATCH i-g-t v2 23/66] lib/xe_eudebug: Allow debugger to wait for client Christoph Manszewski
2024-08-01 12:31   ` Piatkowski, Dominik Karol
2024-07-30 11:44 ` [PATCH i-g-t v2 24/66] tests/xe_eudebug: Add vm-bind discovery tests Christoph Manszewski
2024-07-30 11:44 ` [PATCH i-g-t v2 25/66] tests/xe_eudebug: Add basic-vm-bind-metadata-discovery Christoph Manszewski
2024-07-30 11:44 ` [PATCH i-g-t v2 26/66] tests/xe_eudebug: Add basic-vm-access-parameters test Christoph Manszewski
2024-08-01 12:42   ` Piatkowski, Dominik Karol
2024-07-30 11:44 ` [PATCH i-g-t v2 27/66] lib/xe_eudebug: Add mutex for log events write Christoph Manszewski
2024-08-01 12:43   ` Piatkowski, Dominik Karol
2024-07-30 11:44 ` [PATCH i-g-t v2 28/66] tests/xe_eudebug: Add basic-client-th test Christoph Manszewski
2024-08-01 12:49   ` Piatkowski, Dominik Karol
2024-07-30 11:44 ` [PATCH i-g-t v2 29/66] tests/xe_eudebug: Added connect-user test Christoph Manszewski
2024-07-30 11:44 ` [PATCH i-g-t v2 30/66] tests/xe_eudebug: Add discovery-race-vmbind subtest Christoph Manszewski
2024-08-01  6:25   ` Piatkowski, Dominik Karol
2024-07-30 11:44 ` [PATCH i-g-t v2 31/66] tests/xe_eudebug: Add userptr variant of basic-vm-access test Christoph Manszewski
2024-07-30 11:44 ` [PATCH i-g-t v2 32/66] tests/xe_eudebug: Add basic-vm-bind-ufence Christoph Manszewski
2024-07-30 11:44 ` [PATCH i-g-t v2 33/66] tests/xe_eudebug: Add multigpu scenarios Christoph Manszewski
2024-07-30 11:44 ` [PATCH i-g-t v2 34/66] tests/xe_eudebug: Add vm-bind-clear test Christoph Manszewski
2024-07-30 11:44 ` [PATCH i-g-t v2 35/66] tests/xe_eudebug: Exercise lseek Christoph Manszewski
2024-07-30 11:44 ` [PATCH i-g-t v2 36/66] tests/xe_eudebug: Test multiple bo sizes Christoph Manszewski
2024-07-30 11:44 ` [PATCH i-g-t v2 37/66] lib/gpgpu_shader: Extend shader building library Christoph Manszewski
2024-07-30 11:44 ` [PATCH i-g-t v2 38/66] tests/xe_exec_sip: Port tests for shaders and sip Christoph Manszewski
2024-07-30 11:44 ` [PATCH i-g-t v2 39/66] tests/xe_exec_sip: Check if we reset due to unhandled attention Christoph Manszewski
2024-08-01 12:57   ` Piatkowski, Dominik Karol
2024-08-01 19:04   ` Grzegorzek, Dominik
2024-07-30 11:44 ` [PATCH i-g-t v2 40/66] tests/xe_exec_sip: Check usercoredump for attentions Christoph Manszewski
2024-07-30 11:44 ` [PATCH i-g-t v2 41/66] tests/xe_exec_sip: Add support for dynamic debugger sysfs toggle Christoph Manszewski
2024-08-01 12:58   ` Piatkowski, Dominik Karol
2024-07-30 11:44 ` [PATCH i-g-t v2 42/66] tests/xe_exec_sip: Add breakpoint-writesip-twice test Christoph Manszewski
2024-07-30 11:45 ` [PATCH i-g-t v2 43/66] tests/xe_exec_sip: Add sanity-after-timeout test Christoph Manszewski
2024-08-01  7:08   ` Piatkowski, Dominik Karol
2024-07-30 11:45 ` [PATCH i-g-t v2 44/66] tests/xe_exec_sip: Add breakpoint-waitsip-heavy test Christoph Manszewski
2024-07-30 11:45 ` [PATCH i-g-t v2 45/66] tests/xe_exec_sip: Add nodebug test cases Christoph Manszewski
2024-08-01  7:23   ` Piatkowski, Dominik Karol
2024-07-30 11:45 ` [PATCH i-g-t v2 46/66] lib/gpgpu_shader: Add write_on_exception template Christoph Manszewski
2024-07-30 11:45 ` [PATCH i-g-t v2 47/66] lib/gpgpu_shader: Add set/clear exception register (cr0.1) helpers Christoph Manszewski
2024-07-30 11:45 ` [PATCH i-g-t v2 48/66] lib/intel_batchbuffer: Add helper to get pointer at specified offset Christoph Manszewski
2024-07-30 11:45 ` [PATCH i-g-t v2 49/66] lib/gpgpu_shader: Allow enabling illegal opcode exceptions in shader Christoph Manszewski
2024-07-30 11:45 ` [PATCH i-g-t v2 50/66] tests/xe_exec_sip: Rework invalid instruction tests Christoph Manszewski
2024-08-01 19:22   ` Grzegorzek, Dominik
2024-07-30 11:45 ` [PATCH i-g-t v2 51/66] lib/intel_batchbuffer: Add support for long-running mode execution Christoph Manszewski
2024-07-30 11:45 ` [PATCH i-g-t v2 52/66] tests/xe_eudebug_online: Debug client which runs workloads on EU Christoph Manszewski
2024-07-30 11:45 ` [PATCH i-g-t v2 53/66] tests/xe_eudebug_online: Set dynamic breakpoint on interrupt-all Christoph Manszewski
2024-08-05  6:27   ` Piatkowski, Dominik Karol
2024-07-30 11:45 ` [PATCH i-g-t v2 54/66] tests/xe_eudebug_online: Add support for dynamic debugger sysfs toggle Christoph Manszewski
2024-08-05  6:30   ` Piatkowski, Dominik Karol
2024-07-30 11:45 ` [PATCH i-g-t v2 55/66] tests/xe_eudebug_online: Add tdctl-parameters test Christoph Manszewski
2024-07-30 11:45 ` [PATCH i-g-t v2 56/66] tests/xe_eudebug_online: Add reset-with-attention test Christoph Manszewski
2024-08-05  6:46   ` Piatkowski, Dominik Karol
2024-07-30 11:45 ` [PATCH i-g-t v2 57/66] lib/xe_eudebug: Expose xe_eudebug_connect Christoph Manszewski
2024-08-05  6:48   ` Piatkowski, Dominik Karol
2024-07-30 11:45 ` [PATCH i-g-t v2 58/66] tests/xe_eudebug_online: Add interrupt-reconnect test Christoph Manszewski
2024-08-05  7:53   ` Piatkowski, Dominik Karol
2024-07-30 11:45 ` [PATCH i-g-t v2 59/66] tests/xe_eudebug_online: Add single-step and single-step-one tests Christoph Manszewski
2024-07-30 11:45 ` [PATCH i-g-t v2 60/66] tests/xe_eudebug_online: What if user does not set debug mode? Christoph Manszewski
2024-08-05  7:55   ` Piatkowski, Dominik Karol
2024-07-30 11:45 ` [PATCH i-g-t v2 61/66] tests/xe_eudebug_online: Adds debugger-reopen test Christoph Manszewski
2024-08-01  8:22   ` Piatkowski, Dominik Karol
2024-07-30 11:45 ` [PATCH i-g-t v2 62/66] tests/xe_eudebug_online: Add caching tests Christoph Manszewski
2024-08-01 12:52   ` Piatkowski, Dominik Karol
2024-07-30 11:45 ` [PATCH i-g-t v2 63/66] tests/xe_eudebug_online: Add subtests w/o long running mode Christoph Manszewski
2024-08-01  9:09   ` Piatkowski, Dominik Karol
2024-08-01 19:27   ` Grzegorzek, Dominik [this message]
2024-07-30 11:45 ` [PATCH i-g-t v2 64/66] tests/xe_eudebug_online: Add multisession test cases Christoph Manszewski
2024-07-30 11:45 ` [PATCH i-g-t v2 65/66] tests/xe_eudebug_online: Check if eu debugger disables preemption timeout Christoph Manszewski
2024-07-30 11:45 ` [PATCH i-g-t v2 66/66] tests/xe_live_ktest: Add xe_eudebug live test Christoph Manszewski
2024-07-30 16:15 ` ✗ GitLab.Pipeline: warning for Test coverage for GPU debug support (rev2) Patchwork
2024-07-30 16:23 ` ✓ CI.xeBAT: success " Patchwork
2024-07-30 16:36 ` ✗ Fi.CI.BAT: failure " Patchwork
2024-07-30 17:16 ` ✗ CI.xeFULL: " Patchwork
2024-08-08 11:13 ` [PATCH i-g-t v2 00/66] Test coverage for GPU debug support Zbigniew Kempczyński
2024-08-08 11:42   ` Manszewski, Christoph

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1a0ea6fba4c8c25d88425382b92b10baec27a2b1.camel@intel.com \
    --to=dominik.grzegorzek@intel.com \
    --cc=andrzej.hajda@intel.com \
    --cc=christoph.manszewski@intel.com \
    --cc=dominik.karol.piatkowski@intel.com \
    --cc=gwan-gyeong.mun@intel.com \
    --cc=igt-dev@lists.freedesktop.org \
    --cc=kamil.konieczny@linux.intel.com \
    --cc=kolanupaka.naveena@intel.com \
    --cc=maciej.patelczyk@intel.com \
    --cc=mika.kuoppala@intel.com \
    --cc=pawel.sikora@intel.com \
    --cc=zbigniew.kempczynski@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox