From: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
To: igt-dev@lists.freedesktop.org
Cc: Simon Ser <contact@emersion.fr>
Subject: [igt-dev] [i-g-t V2] syncobj_timeline: don't expect EINVAL for WAIT_UNSUBMITTED | WAIT_AVAILABLE
Date: Tue, 14 Nov 2023 10:18:51 +0530 [thread overview]
Message-ID: <20231114044851.1324045-1-bhanuprakash.modem@intel.com> (raw)
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
next reply other threads:[~2023-11-14 4:58 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-11-14 4:48 Bhanuprakash Modem [this message]
2023-11-14 5:04 ` [igt-dev] [i-g-t V2] syncobj_timeline: don't expect EINVAL for WAIT_UNSUBMITTED | WAIT_AVAILABLE Modem, Bhanuprakash
2023-11-14 7:43 ` Simon Ser
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=20231114044851.1324045-1-bhanuprakash.modem@intel.com \
--to=bhanuprakash.modem@intel.com \
--cc=contact@emersion.fr \
--cc=igt-dev@lists.freedesktop.org \
/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