[PATCH i-g-t 1/3] tests/intel/xe_eudebug: Add basic-vm-bind-ufence-delay-ack test
Manszewski, Christoph
christoph.manszewski at intel.com
Tue Dec 10 18:10:58 UTC 2024
Hi Dominik,
On 9.12.2024 15:13, Dominik Karol Piątkowski wrote:
> Add a test that gives user fence in application and checks if delayed
> ufence ack works.
>
> Signed-off-by: Dominik Karol Piątkowski <dominik.karol.piatkowski at intel.com>
Reviewed-by: Christoph Manszewski <christoph.manszewski at intel.com>
Thanks,
Christoph
> ---
> tests/intel/xe_eudebug.c | 32 ++++++++++++++++++++++----------
> 1 file changed, 22 insertions(+), 10 deletions(-)
>
> diff --git a/tests/intel/xe_eudebug.c b/tests/intel/xe_eudebug.c
> index 39db16457..1853dee40 100644
> --- a/tests/intel/xe_eudebug.c
> +++ b/tests/intel/xe_eudebug.c
> @@ -54,16 +54,17 @@ static void test_sysfs_toggle(int fd)
> #define STAGE_PRE_DEBUG_RESOURCES_DONE 1
> #define STAGE_DISCOVERY_DONE 2
>
> -#define CREATE_VMS (1 << 0)
> -#define CREATE_EXEC_QUEUES (1 << 1)
> -#define VM_BIND (1 << 2)
> -#define VM_BIND_VM_DESTROY (1 << 3)
> -#define VM_BIND_EXTENDED (1 << 4)
> -#define VM_METADATA (1 << 5)
> -#define VM_BIND_METADATA (1 << 6)
> -#define VM_BIND_OP_MAP_USERPTR (1 << 7)
> -#define EXEC_QUEUES_PLACEMENTS (1 << 8)
> -#define TEST_DISCOVERY (1 << 31)
> +#define CREATE_VMS (1 << 0)
> +#define CREATE_EXEC_QUEUES (1 << 1)
> +#define VM_BIND (1 << 2)
> +#define VM_BIND_VM_DESTROY (1 << 3)
> +#define VM_BIND_EXTENDED (1 << 4)
> +#define VM_METADATA (1 << 5)
> +#define VM_BIND_METADATA (1 << 6)
> +#define VM_BIND_OP_MAP_USERPTR (1 << 7)
> +#define EXEC_QUEUES_PLACEMENTS (1 << 8)
> +#define VM_BIND_DELAY_UFENCE_ACK (1 << 9)
> +#define TEST_DISCOVERY (1 << 31)
>
> #define PAGE_SIZE SZ_4K
> #define MDATA_SIZE (WORK_IN_PROGRESS_DRM_XE_DEBUG_METADATA_NUM * PAGE_SIZE)
> @@ -2124,6 +2125,10 @@ static int wait_for_ufence_events(struct ufence_priv *priv, int timeout_ms)
> * SUBTEST: basic-vm-bind-ufence
> * Description:
> * Give user fence in application and check if ufence ack works
> + *
> + * SUBTEST: basic-vm-bind-ufence-delay-ack
> + * Description:
> + * Give user fence in application and check if delayed ufence ack works
> */
> static void test_basic_ufence(int fd, unsigned int flags)
> {
> @@ -2148,6 +2153,10 @@ static void test_basic_ufence(int fd, unsigned int flags)
> xe_eudebug_debugger_wait_stage(s, STAGE_CLIENT_WAIT_ON_UFENCE_DONE);
> xe_eudebug_assert_f(d, wait_for_ufence_events(priv, XE_EUDEBUG_DEFAULT_TIMEOUT_SEC * MSEC_PER_SEC) == 0,
> "missing ufence events\n");
> +
> + if (flags & VM_BIND_DELAY_UFENCE_ACK)
> + sleep(XE_EUDEBUG_DEFAULT_TIMEOUT_SEC * 4 / 5);
> +
> ack_fences(d);
>
> xe_eudebug_client_wait_done(c);
> @@ -2813,6 +2822,9 @@ igt_main
> igt_subtest("basic-vm-bind-ufence")
> test_basic_ufence(fd, 0);
>
> + igt_subtest("basic-vm-bind-ufence-delay-ack")
> + test_basic_ufence(fd, VM_BIND_DELAY_UFENCE_ACK);
> +
> igt_subtest("vma-ufence")
> test_vma_ufence(fd, 0);
>
More information about the igt-dev
mailing list