[igt-dev] [i-g-t V2] syncobj_timeline: don't expect EINVAL for WAIT_UNSUBMITTED | WAIT_AVAILABLE

Modem, Bhanuprakash bhanuprakash.modem at intel.com
Tue Nov 14 05:04:51 UTC 2023


Hi,

As there is only commit message change in this version, no need to go 
through the CI again. Hence, I am going to Skip the CI & push.

Thanks,
Bhanu

On Tue-14-11-2023 10:18 am, Bhanuprakash Modem wrote:
> From: Erik Kurzinger <ekurzinger at nvidia.com>
> 
> The syncobj_timeline test expects waiting for an unsubmitted fence with
> the WAIT_AVAILABLE flag set to fail with EINVAL. While this matches the
> behavior of current kernels, that behavior is incorrect and will be
> fixed by
> https://lists.freedesktop.org/archives/dri-devel/2023-August/418710.html
> 
> With that fix, the WAIT_AVAILABLE flag will have the intended semantics
> of waiting for an unsubmitted fence to be submitted instead of failing.
> 
> Note that this will cause the test to fail with kernels that lack the
> fix, but such failures will reflect a genuine defect.
> 
> V2: Fix testplan documentation (Bhanuprakash)
> 
> Signed-off-by: Erik Kurzinger <ekurzinger at nvidia.com>
> Reviewed-by: Zbigniew Kempczyński <zbigniew.kempczynski at intel.com>
> Acked-by: Simon Ser <contact at emersion.fr>
> Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem at intel.com>
> Tested-by: Karolina Stolarek <karolina.stolarek at intel.com>
> Acked-by: Kamil Konieczny <kamil.konieczny at linux.intel.com>
> ---
>   tests/syncobj_timeline.c | 24 ++++++++++++------------
>   1 file changed, 12 insertions(+), 12 deletions(-)
> 
> diff --git a/tests/syncobj_timeline.c b/tests/syncobj_timeline.c
> index b4e1d093a..ea8341a30 100644
> --- a/tests/syncobj_timeline.c
> +++ b/tests/syncobj_timeline.c
> @@ -135,16 +135,16 @@
>    *   Verifies that as we signal points from the host, the syncobj timeline value increments and
>    *   that waits for submits/signals works properly.
>    *
> - * SUBTEST: invalid-multi-wait-all-available-unsubmitted
> + * SUBTEST: etime-multi-wait-all-available-unsubmitted
>    * Description: Verifies waiting on a list of timeline syncobjs
>    *
> - * SUBTEST: invalid-multi-wait-all-available-unsubmitted-signaled
> + * SUBTEST: etime-multi-wait-all-available-unsubmitted-signaled
>    * Description: Verifies waiting on a list of timeline syncobjs
>    *
> - * SUBTEST: invalid-multi-wait-all-available-unsubmitted-submitted
> + * SUBTEST: etime-multi-wait-all-available-unsubmitted-submitted
>    * Description: Verifies waiting on a list of timeline syncobjs
>    *
> - * SUBTEST: invalid-multi-wait-all-available-unsubmitted-submitted-signaled
> + * SUBTEST: etime-multi-wait-all-available-unsubmitted-submitted-signaled
>    * Description: Verifies waiting on a list of timeline syncobjs
>    *
>    * SUBTEST: invalid-multi-wait-all-unsubmitted
> @@ -159,16 +159,16 @@
>    * SUBTEST: invalid-multi-wait-all-unsubmitted-submitted-signaled
>    * Description: Verifies waiting on a list of timeline syncobjs
>    *
> - * SUBTEST: invalid-multi-wait-available-unsubmitted
> + * SUBTEST: etime-multi-wait-available-unsubmitted
>    * Description: Verifies waiting on a list of timeline syncobjs
>    *
> - * SUBTEST: invalid-multi-wait-available-unsubmitted-signaled
> + * SUBTEST: multi-wait-available-unsubmitted-signaled
>    * Description: Verifies waiting on a list of timeline syncobjs
>    *
> - * SUBTEST: invalid-multi-wait-available-unsubmitted-submitted
> + * SUBTEST: multi-wait-available-unsubmitted-submitted
>    * Description: Verifies waiting on a list of timeline syncobjs
>    *
> - * SUBTEST: invalid-multi-wait-available-unsubmitted-submitted-signaled
> + * SUBTEST: multi-wait-available-unsubmitted-submitted-signaled
>    * Description: Verifies waiting on a list of timeline syncobjs
>    *
>    * SUBTEST: invalid-multi-wait-unsubmitted
> @@ -213,13 +213,13 @@
>    * SUBTEST: invalid-signal-zero-handles
>    * Description: Verify that signaling an empty list of syncobj handles is rejected
>    *
> - * SUBTEST: invalid-single-wait-all-available-unsubmitted
> + * SUBTEST: etime-single-wait-all-available-unsubmitted
>    * Description: Verifies wait behavior on a single timeline syncobj
>    *
>    * SUBTEST: invalid-single-wait-all-unsubmitted
>    * Description: Verifies wait behavior on a single timeline syncobj
>    *
> - * SUBTEST: invalid-single-wait-available-unsubmitted
> + * SUBTEST: etime-single-wait-available-unsubmitted
>    * Description: Verifies wait behavior on a single timeline syncobj
>    *
>    * SUBTEST: invalid-single-wait-unsubmitted
> @@ -1782,7 +1782,7 @@ igt_main
>   						WAIT_SIGNALED)) != 1)
>   			continue;
>   
> -		if ((flags & WAIT_UNSUBMITTED) && !(flags & WAIT_FOR_SUBMIT))
> +		if ((flags & WAIT_UNSUBMITTED) && !((flags & WAIT_FOR_SUBMIT) || (flags & WAIT_AVAILABLE)))
>   			err = -EINVAL;
>   		else if (!(flags & WAIT_SIGNALED) && !((flags & WAIT_SUBMITTED) && (flags & WAIT_AVAILABLE)))
>   			err = -ETIME;
> @@ -1851,7 +1851,7 @@ igt_main
>   			continue;
>   
>   		err = 0;
> -		if ((flags & WAIT_UNSUBMITTED) && !(flags & WAIT_FOR_SUBMIT)) {
> +		if ((flags & WAIT_UNSUBMITTED) && !((flags & WAIT_FOR_SUBMIT) || (flags & WAIT_AVAILABLE))) {
>   			err = -EINVAL;
>   		} else if (flags & WAIT_ALL) {
>   			if (flags & (WAIT_UNSUBMITTED | WAIT_SUBMITTED))


More information about the igt-dev mailing list