* [igt-dev] [i-g-t V2] syncobj_timeline: don't expect EINVAL for WAIT_UNSUBMITTED | WAIT_AVAILABLE
@ 2023-11-14 4:48 Bhanuprakash Modem
2023-11-14 5:04 ` Modem, Bhanuprakash
2023-11-14 7:43 ` Simon Ser
0 siblings, 2 replies; 3+ messages in thread
From: Bhanuprakash Modem @ 2023-11-14 4:48 UTC (permalink / raw)
To: igt-dev; +Cc: Simon Ser
From: Erik Kurzinger <ekurzinger@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@nvidia.com>
Reviewed-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
Acked-by: Simon Ser <contact@emersion.fr>
Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
Tested-by: Karolina Stolarek <karolina.stolarek@intel.com>
Acked-by: Kamil Konieczny <kamil.konieczny@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))
--
2.40.0
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [igt-dev] [i-g-t V2] syncobj_timeline: don't expect EINVAL for WAIT_UNSUBMITTED | WAIT_AVAILABLE
2023-11-14 4:48 [igt-dev] [i-g-t V2] syncobj_timeline: don't expect EINVAL for WAIT_UNSUBMITTED | WAIT_AVAILABLE Bhanuprakash Modem
@ 2023-11-14 5:04 ` Modem, Bhanuprakash
2023-11-14 7:43 ` Simon Ser
1 sibling, 0 replies; 3+ messages in thread
From: Modem, Bhanuprakash @ 2023-11-14 5:04 UTC (permalink / raw)
To: igt-dev; +Cc: Simon Ser
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@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@nvidia.com>
> Reviewed-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
> Acked-by: Simon Ser <contact@emersion.fr>
> Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
> Tested-by: Karolina Stolarek <karolina.stolarek@intel.com>
> Acked-by: Kamil Konieczny <kamil.konieczny@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))
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [igt-dev] [i-g-t V2] syncobj_timeline: don't expect EINVAL for WAIT_UNSUBMITTED | WAIT_AVAILABLE
2023-11-14 4:48 [igt-dev] [i-g-t V2] syncobj_timeline: don't expect EINVAL for WAIT_UNSUBMITTED | WAIT_AVAILABLE Bhanuprakash Modem
2023-11-14 5:04 ` Modem, Bhanuprakash
@ 2023-11-14 7:43 ` Simon Ser
1 sibling, 0 replies; 3+ messages in thread
From: Simon Ser @ 2023-11-14 7:43 UTC (permalink / raw)
To: Bhanuprakash Modem; +Cc: igt-dev
Thanks for fixing this.
Reviewed-by: Simon Ser <contact@emersion.fr>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2023-11-14 7:43 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-11-14 4:48 [igt-dev] [i-g-t V2] syncobj_timeline: don't expect EINVAL for WAIT_UNSUBMITTED | WAIT_AVAILABLE Bhanuprakash Modem
2023-11-14 5:04 ` Modem, Bhanuprakash
2023-11-14 7:43 ` Simon Ser
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox