[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