Igt-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Andrzej Hajda <andrzej.hajda@intel.com>
To: Nirmoy Das <nirmoy.das@intel.com>, igt-dev@lists.freedesktop.org
Cc: kamil.konieczny@linux.intel.com,
	Matthew Brost <matthew.brost@intel.com>,
	 Tejas Upadhyay <tejas.upadhyay@intel.com>
Subject: Re: [PATCH i-g-t v3] tests/intel/xe_exec_fault_mode: Don't return early
Date: Wed, 28 Aug 2024 17:15:30 +0200	[thread overview]
Message-ID: <652436ca-1186-4769-bd5c-ddb6d9d0073f@intel.com> (raw)
In-Reply-To: <20240828095514.15613-1-nirmoy.das@intel.com>



On 28.08.2024 11:55, Nirmoy Das wrote:
> Tests that are causing pagefaults should wait for exec queue to be ban
> otherwise pending engine resets because of on-going pagefaults would
> cause failure in subsequent tests to fail.
>
> Set a larger 5 sec timeout if still tests fail, we can blame
> driver in such case.

I try to understand what causes such big delay, any ideas? Btw if the 
driver is to blame, maybe it should be fixed instead of increasing 
timeout in the test.

In v2 there was one failure on PVC: 
https://intel-gfx-ci.01.org/tree/intel-xe/IGTPW_11646/bat-pvc-2/igt@xe_exec_fault_mode@twice-invalid-userptr-fault.html
This time it passed flawlessly (as well as in v1), but not due to 
increased time limit (at least dmesg shows the test took much less than 
1second).
Let's wait for xeFULL pass, maybe it will show some interesting results.

Regards
Andrzej
>
> v2: specify timeout reason and iterate over exec_queues(Andrzej)
> v3: increase timeout
>
> Cc: Andrzej Hajda <andrzej.hajda@intel.com>
> Cc: Kamil Konieczny <kamil.konieczny@linux.intel.com>
> Cc: Matthew Brost <matthew.brost@intel.com>
> Cc: Tejas Upadhyay <tejas.upadhyay@intel.com>
> Link: https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/1630
> Reviewed-by: Matthew Brost <matthew.brost@intel.com> #v1
> Signed-off-by: Nirmoy Das <nirmoy.das@intel.com>
> ---
>   tests/intel/xe_exec_fault_mode.c | 25 +++++++++++++++++++++++++
>   1 file changed, 25 insertions(+)
>
> diff --git a/tests/intel/xe_exec_fault_mode.c b/tests/intel/xe_exec_fault_mode.c
> index 1f1f1e50b..e3e6047e7 100644
> --- a/tests/intel/xe_exec_fault_mode.c
> +++ b/tests/intel/xe_exec_fault_mode.c
> @@ -36,6 +36,22 @@
>   #define INVALID_VA	(0x1 << 8)
>   #define ENABLE_SCRATCH  (0x1 << 9)
>   
> +static int get_ban_property(int xe, struct drm_xe_engine_class_instance *eci,
> +			    uint32_t vm, uint32_t exec_queue)
> +{
> +	struct drm_xe_exec_queue_get_property args = {
> +		.value = -1,
> +		.reserved[0] = 0,
> +		.property = DRM_XE_EXEC_QUEUE_GET_PROPERTY_BAN,
> +	};
> +
> +	args.exec_queue_id = exec_queue;
> +
> +	do_ioctl(xe, DRM_IOCTL_XE_EXEC_QUEUE_GET_PROPERTY, &args);
> +
> +	return args.value;
> +}
> +
>   /**
>    * SUBTEST: invalid-va
>    * Description: Access invalid va and check for EIO through user fence.
> @@ -324,6 +340,15 @@ test_exec(int fd, struct drm_xe_engine_class_instance *eci,
>   	xe_wait_ufence(fd, &data[0].vm_sync, USER_FENCE_VALUE,
>   		       bind_exec_queues[0], NSEC_PER_SEC);
>   
> +	if ((flags & INVALID_FAULT)) {
> +		igt_set_timeout(5, "waiting for ban");
> +		for (i = 0; i < n_exec_queues; i++) {
> +			while (!get_ban_property(fd, eci, vm, exec_queues[i]))
> +				sched_yield();
> +		}
> +		igt_reset_timeout();
> +	}
> +
>   	if (!(flags & INVALID_FAULT) && !(flags & INVALID_VA)) {
>   		for (i = j; i < n_execs; i++)
>   				igt_assert_eq(data[i].data, 0xc0ffee);


  parent reply	other threads:[~2024-08-28 15:15 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-08-28  9:55 [PATCH i-g-t v3] tests/intel/xe_exec_fault_mode: Don't return early Nirmoy Das
2024-08-28 11:15 ` ✗ CI.xeBAT: failure for tests/intel/xe_exec_fault_mode: Don't return early (rev3) Patchwork
2024-08-28 11:26 ` ✗ Fi.CI.BAT: " Patchwork
2024-08-28 12:45 ` ✓ CI.xeBAT: success for tests/intel/xe_exec_fault_mode: Don't return early (rev4) Patchwork
2024-08-28 12:51 ` ✓ Fi.CI.BAT: " Patchwork
2024-08-28 15:15 ` Andrzej Hajda [this message]
2024-08-28 15:26   ` [PATCH i-g-t v3] tests/intel/xe_exec_fault_mode: Don't return early Nirmoy Das
2024-08-30  9:12   ` Nirmoy Das
2024-08-28 17:12 ` ✗ CI.xeFULL: failure for tests/intel/xe_exec_fault_mode: Don't return early (rev3) Patchwork
2024-08-28 19:35 ` ✗ CI.xeFULL: failure for tests/intel/xe_exec_fault_mode: Don't return early (rev4) Patchwork
2024-08-29 12:18 ` ✗ Fi.CI.IGT: " Patchwork

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=652436ca-1186-4769-bd5c-ddb6d9d0073f@intel.com \
    --to=andrzej.hajda@intel.com \
    --cc=igt-dev@lists.freedesktop.org \
    --cc=kamil.konieczny@linux.intel.com \
    --cc=matthew.brost@intel.com \
    --cc=nirmoy.das@intel.com \
    --cc=tejas.upadhyay@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