From: Robert Foss <robert.foss@collabora.com>
To: Chris Wilson <chris@chris-wilson.co.uk>,
intel-gfx@lists.freedesktop.org,
Gustavo Padovan <gustavo.padovan@collabora.com>,
Daniel Stone <daniels@collabora.com>,
Daniel Vetter <daniel@ffwll.ch>,
Marius Vlad <marius.c.vlad@intel.com>,
Eric Engestrom <eric@engestrom.ch>
Subject: Re: [PATCH i-g-t v5 06/13] tests/sw_sync: Add subtest test_sync_wait
Date: Thu, 15 Sep 2016 18:25:13 -0400 [thread overview]
Message-ID: <5b9d665b-dbbc-5cb3-a2bd-a1eaa31bcd5d@collabora.com> (raw)
In-Reply-To: <20160915203244.GC13394@nuc-i3427.alporthouse.com>
On 2016-09-15 04:32 PM, Chris Wilson wrote:
> On Thu, Sep 15, 2016 at 02:40:11PM -0400, robert.foss@collabora.com wrote:
>> From: Robert Foss <robert.foss@collabora.com>
>>
>> This subtest verifies that waiting on fences works properly.
>>
>> Signed-off-by: Robert Foss <robert.foss@collabora.com>
>> Reviewed-by: Eric Engestrom <eric@engestrom.ch>
>> ---
>> tests/sw_sync.c | 38 ++++++++++++++++++++++++++++++++++++++
>> 1 file changed, 38 insertions(+)
>>
>> diff --git a/tests/sw_sync.c b/tests/sw_sync.c
>> index fcb2f57..3061279 100644
>> --- a/tests/sw_sync.c
>> +++ b/tests/sw_sync.c
>> @@ -81,6 +81,41 @@ static void test_alloc_merge_fence(void)
>> close(timeline[1]);
>> }
>>
>> +static void test_sync_wait(void)
>
> These are not testing waits but busy queries.
test_sync_wait refers to sw_sync_wait, which may or may not be
meaningful to refer to.
Do you still prefer test_sync_busy?
>
> static void test_sync_busy(void)
>> +{
>> + int fence, ret;
>> + int timeline;
>> +
>> + timeline = sw_sync_timeline_create();
>> + fence = sw_sync_fence_create(timeline, 5);
>> +
>> + /* Wait on fence until timeout */
>
> Misleading comment
Agreed.
>
>> + ret = sw_sync_wait(fence, 0);
>> + igt_assert_f(ret == 0, "Failure waiting on fence until timeout\n");
>
> igt_assert_f(ret == 0, "Fence created in an unexpectedly signaled state\n");
Agreed.
>
>> +
>> + /* Advance timeline from 0 -> 1 */
>> + sw_sync_timeline_inc(timeline, 1);
>> +
>> + /* Wait on fence until timeout */
>> + ret = sw_sync_wait(fence, 0);
>> + igt_assert_f(ret == 0, "Failure waiting on fence until timeout\n");
>
> igt_assert_f(ret == 0, "Fence signaled earlier (timeline value 1, fence seqno 5)\n");
Agreed.
>
>> +
>> + /* Signal the fence */
>
> /* Advance timeline from 1 -> 5: signaling the fence (seqno 5)*/
Agreed.
>> + sw_sync_timeline_inc(timeline, 4);
>
>> +
>> + /* Wait successfully */
>
> Usless comment
Agreed.
>
>> + ret = sw_sync_wait(fence, 0);
>> + igt_assert_f(ret > 0, "Failure waiting on fence\n");
>
> igt_assert_f(ret == 0, "Fence not signaled (timeline value 5, fence seqno 5)\n");
>
> If we have a timeline info, we could use %d to say the current value.
>
> Another test would be to then
>
> seqno = 0;
> for (i = 0; i < n_primes; i++) {
> seqno += primes[i];
> sw_sync_timeline_inc(timeline, primes[i]);
> igt_assert_eq(sw_sync_timeline_get_seqno(timeline), seqno);
> }
>
This looks like a good addition, but primes has not previously been
defined. Do you have preference for primes or would any increment, like
random be ok?
>> +
>> + /* Go even further, and confirm wait still succeeds */
>> + sw_sync_timeline_inc(timeline, 10);
>> + ret = sw_sync_wait(fence, 0);
>> + igt_assert_f(ret > 0, "Failure waiting ahead\n");
>
> igt_assert_f(ret == 0, "Fence now not signaled! (timeline value 10, fence seqno 5)\n");
Agreed.
Thanks for the thorough review!
Rob.
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2016-09-15 22:25 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-09-15 18:40 [PATCH i-g-t v5 00/13] Implement sw_sync test robert.foss
2016-09-15 18:40 ` [PATCH i-g-t v5 01/13] lib/sw_sync: Add helper functions for managing synchronization primitives robert.foss
2016-09-15 20:12 ` Chris Wilson
2016-09-15 18:40 ` [PATCH i-g-t v5 02/13] tests/sw_sync: Add sw_sync test robert.foss
2016-09-15 20:22 ` Chris Wilson
2016-09-15 21:05 ` Robert Foss
2016-09-16 10:47 ` Chris Wilson
2016-09-15 18:40 ` [PATCH i-g-t v5 03/13] tests/sw_sync: Add subtest test_alloc_fence robert.foss
2016-09-15 18:40 ` [PATCH i-g-t v5 04/13] tests/sw_sync: Add subtest test_alloc_fence_invalid_timeline robert.foss
2016-09-15 18:40 ` [PATCH i-g-t v5 05/13] tests/sw_sync: Add subtest test_alloc_merge_fence robert.foss
2016-09-15 18:40 ` [PATCH i-g-t v5 06/13] tests/sw_sync: Add subtest test_sync_wait robert.foss
2016-09-15 20:32 ` Chris Wilson
2016-09-15 22:25 ` Robert Foss [this message]
2016-09-16 10:36 ` Chris Wilson
2016-09-15 20:45 ` Chris Wilson
2016-09-15 18:40 ` [PATCH i-g-t v5 07/13] tests/sw_sync: Add subtest test_sync_merge robert.foss
2016-09-15 20:41 ` Chris Wilson
2016-09-16 0:27 ` Robert Foss
2016-09-16 8:21 ` Chris Wilson
2016-09-15 18:40 ` [PATCH i-g-t v5 08/13] tests/sw_sync: Add subtest test_sync_merge_same robert.foss
2016-09-15 18:40 ` [PATCH i-g-t v5 09/13] tests/sw_sync: Add subtest test_sync_multi_consumer robert.foss
2016-09-15 18:40 ` [PATCH i-g-t v5 10/13] tests/sw_sync: Add subtest test_sync_multi_consumer_producer robert.foss
2016-09-15 18:40 ` [PATCH i-g-t v5 11/13] tests/sw_sync: Add subtest test_sync_random_merge robert.foss
2016-09-15 18:40 ` [PATCH i-g-t v5 12/13] tests/sw_sync: Add subtest test_sync_multi_timeline_wait robert.foss
2016-09-15 18:40 ` [PATCH i-g-t v5 13/13] tests/sw_sync: Add subtest test_sync_multi_producer_single_consumer robert.foss
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=5b9d665b-dbbc-5cb3-a2bd-a1eaa31bcd5d@collabora.com \
--to=robert.foss@collabora.com \
--cc=chris@chris-wilson.co.uk \
--cc=daniel@ffwll.ch \
--cc=daniels@collabora.com \
--cc=eric@engestrom.ch \
--cc=gustavo.padovan@collabora.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=marius.c.vlad@intel.com \
/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;
as well as URLs for NNTP newsgroup(s).